2017-03-01 171 views
0

我在我的應用程序中有一個活動(A),該活動由其他活動(B)通過startActivityForResult()啓動。 當在A中點擊一個按鈕時,它會調用setResult()並完成(),並返回B.是否可以從儀器測試中獲得活動結果?

如何從我的儀器測試中得到A的結果?

我想保持簡單,並從我的測試中直接啓動A,而不是進入低谷B(以及之前的活動)。

我正在使用robotium,我也查看過其他工具,但沒有找到任何有用的東西。

getActivityMonitor()。getResult()爲null。 無論如何,Robotium不會使用startActivityForResult()啓動活動。 我不想嘲笑活動A的結果,我想檢查它的有效性。

我目前的解決方法是用反射讀取活動的值,但必須有更好的方法。

+0

所以你想直接從測試中運行活動A,然後點擊一個按鈕? –

+0

我想測試一個活動,並檢查活動結果是否正確。 – Steve

回答

0

如果我理解正確的話你的問題試試這個

Intent i = new Intent (getApplicationContext(), ActivityA.class); startActivity(i); //Start Activity A

,或者你可以從特定的活動

public class ActivityATest extends ActivityInstrumentationTestCase2<ActivityA> { ...

然後測試檢查使測試星級

// check that we have the right activity solo.assertCurrentActivity("wrong activity", ActivityA.class);

+0

這還不夠。我在開始特定活動時沒有問題,但我無法從中獲取activityResult。 – Steve

相關問題