我在androidTest文件夹中创建了一个测试用例MyHomeActivityTest.Java 在 /app/src/androidTest/java/MyHomeActivityTest.java
我有一个HomeActivity.java类 /app/src/main/java/HomeActivity.java
在我的HomeActivity.java类中,我使用butterknife进行视图注入。我在MyHomeActivityTest.java中运行HomeActivity的测试用例。
但是当我运行测试用例时,测试运行正常,但是对于butterknife来说NoClassDefFound是错误的。
我的项目课程
MyHomeActivityTest.java
public class HomeActivityTest extends ActivityInstrumentationTestCase2<HomeActivity> {
private Solo solo;
public HomeActivityTest() {
super(HomeActivity.class);
}
public void setUp() throws Exception {
super.setUp();
solo = new Solo(getInstrumentation());
getActivity();
}
@Override
public void tearDown() throws Exception {
solo.finishOpenedActivities();
super.tearDown();
}
public void testRun() {
solo.assertCurrentActivity("Home activity class",HomeActivity.class);
final LinearLayout homeScreen =
(LinearLayout) solo.getCurrentActivity().findViewById(R.id.home_screen);
assertEquals(View.GONE, homeScreen.getVisibility());
}
}
的build.gradle
dependencies{
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.jakewharton:butterknife:5.1.1'
compile 'com.squareup.picasso:picasso:1.1.1'
androidTestCompile 'com.jayway.android.robotium:robotium-solo:5.1'
}
一旦我运行MyHomeActivityTest类,它就会给我NoClassDefFoundError,因为它的超类是使用butterKnife的HomeActivity.class。
答案 0 :(得分:1)
尝试将ButterKnife依赖项添加到AndroidTest文件夹中。