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 。