2017-09-01 14 views
0

我有一個應用程序,其中一項活動(我們稱之爲ActivityA)或另一項(ActivityB)可導致相同的目標活動(ActivityC)。使用Espresso獲得意向附加價值

在我的代碼,ActivityC有一個按鈕,導致回到先前的活動:要麼ActivityAActivityB,這取決於哪一個呼籲ActivityC

我想用Espresso編寫一些單元測試來驗證此流程,但不知道如何確定哪個活動已調用ActivityC。下面的代碼說明我的問題:

String extra = getIntent().getStringExtra("key"); // How can I store the extra value? 
if (ActivityA.class.getName().equals(extra)) { 
    intended(hasComponent(ActivityA.class.getName())); 
} else if (ActivityB.class.getName().equals(extra)) { 
    intended(hasComponent(ActivityB.class.getName())); 
} 

有了這個完成的,我的測試將能夠驗證的意圖是否朝着正確的目標指向活動。

回答

0

我最終發現Espresso沒有辦法可以做到我想要做的事情,因爲驗證ActivityC是否回到其以前的活動的責任在於單元測試ActivityAActivityB

基本上做了什麼來解決這個問題是使ActivityA(或B)致電ActivityC,然後有ActivityC調用它之前的活動以自己的方式,不論是哪一個是的。