AndroidスタジオでRobolectricテストを初めて、テストを実行しようとすると同じエラーが表示され、android.content.res.Resources$NotFoundException: Unable to find resource ID #0x0 in packages
と表示されます。私は、JUnit作業ディレクトリが$ MODULE_DIR $であることを確認しましたが、それでも動作しませんでした。私のbuild.gradleファイルにtestOptions.unitTests.includeAndroidResources
を追加しても何もしません。テストファイルの外観は次のとおりです。Robolectricがテスト実行時にリソースIDを見つけることができません
@RunWith(RobolectricTestRunner.class)
@Config(constants = BuildConfig.class, sdk = Build.VERSION_CODES.LOLLIPOP)
public class StartActivityTests {
StartActivity activity;
@Before
public void setUp() throws Exception {
activity = Robolectric.buildActivity(StartActivity.class)
.create()
.resume()
.get();
}
@Test
public void shouldNotBeNull() throws Exception
{
assertNotNull(activity);
}
@Test
public void clickingNewGame_shouldStartAvatarRoomActivity() {
StartActivity activity = Robolectric.setupActivity(StartActivity.class);
activity.findViewById(R.id.newUserButtonFirstPage).performClick();
Intent expectedIntent = new Intent(activity, AvatarRoomActivity.class);
Intent actual = ShadowApplication.getInstance().getNextStartedActivity();
assertEquals(expectedIntent.getComponent(), actual.getComponent());
}
}
助けてください!大変感謝しています!