Robolectric を使用して、Android アプリで単体テストを実行しています。問題は単純です。findViewById を使用してボタンを取得できますが、performClick()
メソッドを呼び出すか、 Robolectric.clickOn()
false を返します。
ただし、ボタンはアプリまたは Robotium 単体テストでテストされ、完全に機能します...
合格しないテストコードは次のとおりです。
@RunWith(RobolectricTestRunner.class)
public class RegisterActivityTest {
private MainActivity mainActivity;
private LoginActivity loginActivity;
@Before
public void setUp(){
mainActivity=new MainActivity();
mainActivity.onCreate(null);
mainActivity.setContentView(R.layout.main);
}
@Test
public void testButton() throws Exception {
Button buttonPayment=(Button)mainActivity.findViewById(R.id.btn_payment);
assertNotNull(buttonPayment); // will pass test ( ---> the view is a button and exists )
assertTrue(buttonPayment.performClick()); // raise AssertionError
assertTrue(Robolectric.clickOn(buttonPayment)); // raise AssertionError as well
}
}
みんなありがとう。
ポール