我有兩項活動,第一項是創建一個在創建方法中導致第二個項目始終啓動的項目。 我Robolectric測試通過精細無法讓我的assert currrent活動正常工作
活動
public class LoginActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.loginview);
Intent intent = new Intent(this,MainActivity.class);
startActivity(intent);
}
我知道我的行爲能正常工作的原因在我的設備,並在模擬器上
我Robolectric測試
public void testLoginFirstTime() throws Exception
{
LoginActivity activity = new LoginActivity();
activity.onCreate(null);
assertThat(activity, new StartedMatcher(MainActivity.class));
}
我Robotium啓動測試
public void setUp() throws Exception {
solo = new Solo(getInstrumentation(), getActivity());
}
public void testLoginFirstTime() throws Exception
{
solo.assertCurrentActivity("Expected MainActivity to launch", MainActivity.class);
}
我的機器人斷言有什麼問題?它總是認爲當前的活動是登錄的,儘管當我看着模擬器/設備時,我可以看到Robotium確實啓動了MainActivity,但它似乎並不知道新活動已啓動。 編輯:意思是說如果我添加一個按鈕到我的登錄視圖,並通過點擊按鈕啓動新的活動,然後Robotium執行點擊並檢測到新活動已啓動好。
編輯: 看起來像它的一個Robotium限制 http://groups.google.com/group/robotium-developers/browse_thread/thread/79a70038c16e35e6 但是它仍然給我留下了如何測試我的應用程序robotium相同的方式,用戶將使用它,即不作弊,並在啓動問題不同的活動:(