Android Studio中的AndroidJunit4.class运行器不会调用@Test方法

时间:2015-02-07 15:31:00

标签: android android-studio junit4

我已应用以下说明:https://code.google.com/p/android-test-kit/wiki/AndroidJUnitRunnerUserGuide 设置JUnit4测试。

特别是我遵循将Junit4与ActivityInstrumentationTestCase2一起使用的步骤,但是当我在Android Studio中运行测试时,@ Test注释方法没有被执行。如果我在方法前加上' test'它可以工作,但这不是我对JUnit 4测试的期望。

有没有人遇到过这个问题?

此致

4 个答案:

答案 0 :(得分:6)

无需再延长ActivityInstrumentationTestCase2。如果您需要访问Activity,则在测试支持库中存在ActivityTestRule。您现在可以执行以下操作,而不是扩展ActivityInstrumentationTestCase2

@RunWith(AndroidJUnit4.class)
public final class ActivityTest {

    @Rule 
    public final ActivityTestRule<MainActivity> activityTestRule =
        new ActivityTestRule<>(MainActivity.class);

    @Test
    public void useActivityInTest() {
        Activity activity = activityTestRule.getActivity();
    }
}

答案 1 :(得分:2)

我发现我必须添加一个这样的测试方法:

public void test() {}

然后我的所有实际测试都使用@Test

进行注释

答案 2 :(得分:2)

修复了 app / build.gradle 文件中指定的test-runner:

testInstrumentationRunner“android.support.test.runner.AndroidJUnitRunner”

defaultConfig {
    applicationId "com.domain.appname"
    minSdkVersion 15
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"

    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

答案 3 :(得分:0)

我尝试在Android Studio中运行单独的测试方法时遇到此错误(通过右键单击并从上下文菜单中选择它)而不是整个类。

运行整个类导致测试按预期运行。