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中产生"空测试套件"消息,尽管已正确设置测试运行器.
如果您收到此类错误消息:
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
部分中.
另外,值得一提的是,我注意到,当Debug
选择非构建变体时,我会出现此问题.