vos*_*ith 8 android android-testing android-gradle-plugin
是否可以使用新的Android gradle构建框架运行单个测试类?
我有一个包含多个测试类的测试包(所有测试类都是InstrumentationTestCase类).我已经能够设置我的build.gradle文件来运行测试包
defaultConfig{
testPackageName "com.company.product.tests"
testInstrumentationRunner "android.test.InstrumentationTestRunner"
}
Run Code Online (Sandbox Code Playgroud)
但有没有办法只测试该包中的一个测试用例?否则我将使用年龄adb shell am instrument -w .......
PS我现在没有时间切换到Roboelectric,但我确实看到它现在几乎是事实上的框架.
使用android.test.InstrumentationTestRunnerno,这是不可能的。但是,您确实有选择:
android.test.InstrumentationTestRunnerbuildConfigField 'String', 'TEST_NAME', '${testName}',其中如果设置testName则为'"${project.properties.get("test")}"',否则为 nulltestInstrumentationRunner为您的自定义跑步者./gradlew connectedCheck -Ptest=com.example.Test.testSomethingSpoon是一个出色的测试运行程序扩展,除其他功能外(例如漂亮的多设备测试报告),它还可以让您运行单独的测试。由于您使用的是 gradle,因此我推荐Spoon Gradle Plugin,该插件的 README 中提供了您想要执行的操作的示例。
通过添加单元测试支持,Android 现在支持运行单独的单元测试。
这只是一个锚任务,实际的测试任务被调用
testDebug等等testReleas。如果您只想运行一些测试,使用gradle --tests标志,您可以通过运行来完成./gradlew testDebug --tests='*.MyTestClass'。
编辑:我还应该补充一点,Spoon 是运行测试的直接替代品。您只需修改构建脚本中的几行即可使用它。