Java 检测测试将作为本地单元测试在Android Studio 3(空测试套件)上运行

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 3.0.1和Kotlin中运行
插装测试时,我遇到了一些问题(以前的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"
        }
}