Android Studio Espresso测试错误:空测试套件

Isa*_*aac 16 testing junit android android-espresso

尝试在Android Studio中执行测试时,我一直遇到以下错误:测试运行失败:无法找到以下内容的检测信息:ComponentInfo {.test/android.support.test.runner.AndroidJUnitRunner}

我的测试类在androidTest/java目录中并且有一个构造函数.我的build.gradle也是正确的.任何帮助表示赞赏.

测试类

@RunWith(AndroidJUnit4.class)
@LargeTest
public class AndroidUITests extends ActivityInstrumentationTestCase2<UserActivity>{

    private UserActivity userActivity;

    public AndroidUITests() {
        super(UserActivity.class);
    }


    @Before
    public void setUp() throws Exception {
        super.setUp();
        injectInstrumentation(InstrumentationRegistry.getInstrumentation());
        userActivity = getActivity();
    }

    @Test
    public void testPhoneIconIsDisplayed() {
        // When the phone_icon view is available,
        // check that it is displayed.
        onView(ViewMatchers.withId(R.id.groupCreate)).perform(click())
                .check(matches(withText("Enter a name")));
    }
}
Run Code Online (Sandbox Code Playgroud)

应用程序/的build.gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

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

    packagingOptions {
        exclude 'LICENSE.txt'
    }
}

dependencies {
    androidTestCompile 'com.android.support.test.espresso:espresso-core:2.0'
    androidTestCompile 'com.android.support.test:testing-support-lib:0.1'
}
Run Code Online (Sandbox Code Playgroud)

loe*_*chg 27

虽然这个问题已经得到解答,但我认为这对未来的访问者来说是值得的.

确保检查logcat日志以确保在测试运行之前不会导致问题(崩溃).我的@BeforeClass块中有错误的代码导致Android Studio中出现"Empty Test Suite"消息,尽管已经正确设置了测试运行器.


Jua*_*via 25

您必须更新测试"编辑配置"并包含AndroidJUnitRunner作为仪表运行程序.

在此输入图像描述

我在此视频中找到了解决方案:https: //youtu.be/TGU0B4qRlHY?t = 9m36s

更新

添加@loeschg建议的内容:确保检查logcat日志以确保在测试运行之前不会导致问题(崩溃).@BeforeClass块中的错误代码可能会在Android Studio中产生"空测试套件"消息,尽管已正确设置测试运行器.

  • 无法再在"运行/调试配置"中指定运行程序. (7认同)

Vil*_*usK 7

如果您收到此类错误消息:

Class not found: "com.example.product.package.name.SomeSpecificTest" Empty test suite.
Run Code Online (Sandbox Code Playgroud)

您需要确保在Android Instrumented Tests下一节中添加Espresso测试Run/Debug Configurations.

似乎Android Studio 3.1.3有时会错误地将其添加到Android JUnit部分中.

确保它看起来像这样: 使用Android Instrumented测试和Android JUnit运行/调试配置

另外,值得一提的是,我注意到,当Debug选择非构建变体时,我会出现此问题.