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注解的方法(用于标记在类中的任何测试方法之前必须执行的方法的标注)引发exception。 之所以花费更多的时间,是因为如果在该方法中出现错误,exception的堆栈跟踪不会在“ 运行”选项卡 日志”窗口中显示,而会显示在“ Android监视器”选项卡的日志”窗口

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

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

好的,我find了我的问题的原因。

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

     

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

     

希望这可以帮助任何人。

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

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

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

在我的情况下, 使用KOTLIN ,它没有扔任何东西。 如果我在终端中运行它正在尝试执行的命令:

$ adbshell仪器-w -r -e调试false -e类xx.xxxxxxx.xx.xx.xxx.xxx.HomeActivityTests xx.xxxxxxx.xx.xx.debug.test / android.support.test.runner.AndroidJUnitRunner

它会抛出一个错误:

引起:org.mockito.exceptions.base.MockitoException:

不能模拟/间谍类xx.xxxxxxx.xx.xx.xxx.xxx.xxx.ProductUseCase

Mockito不能模拟/间谍,因为: – 在xx.xxxxxxx.xx.xx.rules.useCases.ProductUseCaseRule。(ProductUseCaseRule.kt:36)在xx.xxxxxxx.xx.xx.xxx.xxx.HomeActivityTests。(HomeActivityTests。 kt:25)… 20多

FAILURES!

而且这表明我没有open我的课,因为在用Kotlin测试时这是必须的

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