我刚刚在一款新应用中安装了Roboelectric 3.2.2,并编写了我的第一个简单测试:
@RunWith(RobolectricTestRunner.class)
@Config(manifest="src/main/AndroidManifest.xml",
packageName="my.pacakge.name.debug")
public class MainActivityTest {
@Test
public void clickButton() {
MainActivity mainActivity = Robolectric.setupActivity(MainActivity.class);
String text = ((TextView)mainActivity.findViewById(R.id.text_main)).getText().toString();
assertEquals("Should equal Hello World!", "Hello World!", text);
}
}
我已经按照这里和这里的所有设置和说明进行了操作,但每次运行测试时仍然出现以下错误:
android.content.res.Resources$NotFoundException: Unable to find resource ID #0x0 in packages [android, my.package.name.debug]
这个异常出现在测试的第一行,我正在调用setupActivity()
。
Robolectric
?我建议使用最新版本,并删除robolectric gradle plugin
,同时从Config
中删除清单和包名规范。 - Eugen Martynov