Java 检测测试将作为本地单元测试在Android Studio 3(空测试套件)上运行
在Android Studio 3.0.1和Kotlin中运行Java 检测测试将作为本地单元测试在Android Studio 3(空测试套件)上运行,java,android,unit-testing,android-studio,kotlin,Java,Android,Unit Testing,Android Studio,Kotlin,在Android Studio 3.0.1和Kotlin中运行插装测试时,我遇到了一些问题(以前的Android Studio和Java没有遇到过这样的问题)。我在androidTest包中创建了这个(非常简单的)类[],如下所示: @RunWith(AndroidJUnit4::class) @LargeTest class DiscoverActivityTest { @JvmField @Rule val mDiscoverActivityTestRule =
插装测试时,我遇到了一些问题(以前的Android Studio和Java没有遇到过这样的问题)。我在androidTest
包中创建了这个(非常简单的)类[],如下所示:
@RunWith(AndroidJUnit4::class)
@LargeTest
class DiscoverActivityTest {
@JvmField
@Rule
val mDiscoverActivityTestRule = ActivityTestRule<DiscoverActivity>(DiscoverActivity::class.java)
@Test
fun onViewLoadedShowDiscoverFragment() {
onView(withId(R.id.discoverFragmentView)).check(matches(isDisplayed()))
}
}
值得一提的是,如果我在Run/Debug Configurations
中的Android Instrumented Tests
下创建一个新配置,选择此配置并使用此配置(Shift+F10)运行项目,插装测试将正常运行(所有测试一起运行)。但是,当我尝试单独运行测试时(使用每个单独测试方法或测试类旁边的小播放图标),将以测试本身的名称创建类型为Unknown
的新配置(例如上面代码中的DiscoverActivityTest.onViewLoadedShowDiscoverFragment
)然后IDE尝试使用该配置来运行测试;因此出现了错误
有什么建议吗
提前谢谢
最终更新:
在安卓工作室(androidstudio)运行了一段时间后,问题就解决了。所以我猜IDE的配置有问题
android {
defaultConfig {
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
}
尝试在build.gradle中添加“testInstrumentationRunner”。您可以发布应用程序build.gradle
文件,以了解更多有关测试配置的信息。@ahasbini我已经用gradle文件更新了我的问题。感谢您的调查谢谢,您是否尝试删除测试的所有运行/调试配置并再次运行它们?我尝试删除运行/调试配置
菜单中的所有配置,但仍然存在相同的问题。正如我所说,IDE将为每个单独的测试使用一个新的自制配置,并尝试使用该配置运行测试(我不知道为什么)。我将上传一张图片来更好地演示这一行为。事实证明,在重新安装android studio之后,问题已经得到了解决。感谢您的合作@ahasbini
android {
defaultConfig {
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
}