我是一个新的单元测试,我有一个简单的测试方法,不起作用。这就是我所拥有的:
@Test
public void testLayoutAvailable() {
View v = mMainActivity.findViewById(R.layout.main_activity);
assertNotNull(v);
}
我的问题是v
始终是null
。我逐步执行代码并且mMainActivity不是null
,其余的测试方法都可以正常工作。所以我确信有一些简单的东西,我还没有意识到。我检查了我的导入,我也尝试了com.packagename.R.layout.main_activity
,并且还返回了null
。然而,应用程序的自我工作正常,所以我知道布局是存在的,这个测试应该通过。
任何建议?????
答案 0 :(得分:2)
当您在Android上运行正常的JUnit测试时,应用程序的其余部分未完全构建。
然而,Android提供了一些辅助类,它们构建了足够的应用程序,以便您可以测试它。看看http://developer.android.com/tools/testing/activity_testing.html
我过去大多使用ActivityInstrumentationTestCase2
。
答案 1 :(得分:1)
我发现问题是我传递的布局不是findViewById()
的ID。