ActivityInstrumentationTestCase2和android库项目:资源加载失败
||
我有以下设置:
LibProjectWithActivity-一个包含PreviewActivity的Android库项目
AppProject-使用LibProjectWithActivity的常规Android项目
AppProjectTest-一个Android JUnit测试项目,它是一个ActivityInstumentationTestCase2
首先:所有基本依赖项都已正确设置,因为我可以在模拟器中完美启动我的应用程序,它显示PreviewActivity正常,一切正常-这里没有问题。
但是我无法启动测试...这是安装程序:
public class PreviewActivityTest
extends ActivityInstrumentationTestCase2<PreviewActivity> {
public PreviewActivityTest() {
// note: if i put \"com.the7art.libprojectwithactivity\" instead it wont find it
// and will fail with \"activity not found\"
super(\"com.the7art.appproject\", PreviewActivity.class);
}
public void testDummy() {
getActivity();
}
}
这样会抛出NullPointerException:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.the7art.appproject/com.the7art.libprojectwithactivity.PreviewActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2401)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2417)
.......
Caused by: java.lang.NullPointerException
at com.the7art.libprojectwithactivity.PreviewActivity.onCreate(PreviewActivity.java:37)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2364)
... 11 more
这是PreviewActivity.java:36,37行:
mButtonAdd = (Button) findViewById(R.id.button_add);
mButtonAdd.setOnClickListener(this);
因此,此异常的意思是完美找到了R.id.button_add(在libproject中),但是找不到此ID的视图。如果我注释掉此代码,则在尝试获取其他资源时也会类似地崩溃。
看起来测试使用正确的R.java,但是错误的Context对象。或类似的东西。
同样,该应用程序代码还可以,因为它可以在仿真器中工作,所以测试设置有问题...
关于什么是错以及如何解决此问题的任何提示?
没有找到相关结果
已邀请:
1 个回复
破弯