1

我在 /app/src/androidTest/java/MyHomeActivityTest.java 中的 androidTest 文件夹中创建了一个测试用例作为 MyHomeActivityTest.Java

我在 /app/src/main/java/HomeActivity.java 中有一个 HomeActivity.java 类

在我的 HomeActivity.java 类中,我使用黄油刀进行视图注入。我正在 MyHomeActivityTest.java 中运行 HomeActivity 的测试用例。

但是当我运行测试用例时,测试运行良好,但出现黄油刀的 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());
    }

}

构建.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,因为它的超类是 HomeActivity.class,它使用的是 butterKnife。

4

1 回答 1

1

尝试将 ButterKnife 依赖项添加到您的 AndroidTest 文件夹。

于 2014-09-05T08:03:59.643 回答