Android Studio“没有发现测试”

有没有人能够得到测试运行在Android Studio(从GUI而不是终端),我一直无法从GUI运行测试。

每次尝试通过GUI运行测试时,我都会收到以下消息:

在这里输入图像描述

我能够使用以下命令从终端运行测试:

./gradlew connectedAndroidTest 

我在Mac OSX上运行Android Studio 0.5.2,使用Gradle 1.11和Plugin 0.9.0

我的项目结构如下;

 MyProject/ src/ androidTest/ java/ com.myproject.app.test/ … (tests source code) … main/ java/ com.myproject.app/ … (source code) … res/ … (resources code) … build.gradle 

我的build.gradle文件看起来类似于以下内容:

 … android { compileSdkVersion 19 buildToolsVersion "19.0.1" defaultConfig { versionCode 12 versionName "2.0" minSdkVersion 9 targetSdkVersion 19 testPackageName "com.test.foo" testInstrumentationRunner "android.test.InstrumentationTestRunner" } } … 

如果有人有任何建议,我会很乐意在这里。

今天,我有一些与Espresso测试相同的问题,这让我发疯,因为一切都很正常。 最后我发现这个问题是因为用@BeforeClass注解的方法(用于标记在类中的任何测试方法之前必须执行的方法的标注)引发异常。 之所以花费更多的时间,是因为如果在该方法中出现错误,异常的堆栈跟踪不会显示在“ 运行”选项卡的“ 日志”窗口中 ,而是显示在“ Android监视器”选项卡的日志”窗口

如果你想重现这个问题,只需把它添加到你的测试类:

 @BeforeClass public static void setupClass() { throw new RuntimeException("Sorry dude, you won't find any test!"); } 

好的,我找到了我的问题的原因。

在位于我的项目的.idea文件夹中的misc.xml文件中, ProjectRootManager组件的属性值无效,如下所示:

  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_6" assert-keyword="true" jdk-15="true" project-jdk-name="1.6 (3)" project-jdk-type="JavaSDK"> <output url="file://$PROJECT_DIR$/build/classes" /> </component> 

所以把project-jdk-name属性值改为“1.6” ,为我解决了这个问题。 下面是我更新了数值后的样子。

  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_6" assert-keyword="true" jdk-15="true" project-jdk-name="1.6" project-jdk-type="JavaSDK"> <output url="file://$PROJECT_DIR$/build/classes" /> </component> 

希望这可以帮助任何人。

对我来说这是愚蠢的事情。 简单地从Release build variant切换到Debug解决了这个问题。

当运行配置的类型不正确时,可能会发生这种情况。

对我来说,用Kotlin运行一个Espresso测试时会出错:它会以某种方式创建一个错误类型的Android JUnit测试。 手动创建Android Instrumentation测试解决了这个问题。

这是非常简单的问题,只需按下Alt + Shift + F10并以这种方式运行:) PS:如果没有工作,请尝试Shift + F10