Robolectric で非常に簡単なテストをしようとしています。ビューが存在するかどうかをテストしたいと思います。これは、Robolectric の Web サイトの例と非常によく似ていますが、findViewById
null を返し続けます。
何が問題なのですか?
これは活動です:
public class SignInActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sign_in);
}
}
これはテストです:
@RunWith(RobolectricTestRunner.class)
public class SignInActivityTests {
private SignInActivity mActivity;
@Before
public void setUp() throws Exception {
mActivity = new SignInActivity();
mActivity.onCreate(null);
}
@Test
public void shouldHaveTheCorrectLogo() throws Exception {
assertNotNull(mActivity.findViewById(R.id.signInLogo));
}
}
レイアウト XML ファイルにImageView
は正しい ID とリソースが含まれているため、エミュレーターでアクティビティを実行しても問題なく動作します。