AndroidJUnitRunner 1.0.0和AssertJ的仪表化测试失败
我正在尝试将我的项目更新到最近发布的Android测试支持库版本1.0.0。但如果我添加AndroidJUnitRunner 1.0.0和AssertJ的仪表化测试失败,android,android-support-library,android-testing,assertj,Android,Android Support Library,Android Testing,Assertj,我正在尝试将我的项目更新到最近发布的Android测试支持库版本1.0.0。但如果我添加assertjcoredependency-Gradle检测测试任务开始失败,并显示“未找到测试”消息。不过,我可以从IDE成功运行单个测试 很容易重现问题: 使用空活动从Android Studio 3创建新项目 添加assertjcore依赖项 从命令行/gradlew connectedDebugAndroidTest运行检测测试 格雷德尔脚本 android { defaultConfig {
assertjcore
dependency-Gradle检测测试任务开始失败,并显示“未找到测试”消息。不过,我可以从IDE成功运行单个测试
很容易重现问题:
assertjcore
依赖项/gradlew connectedDebugAndroidTest
运行检测测试android {
defaultConfig {
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
}
dependencies {
implementation 'com.android.support:appcompat-v7:26.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.0'
androidTestImplementation group: "org.assertj", name: "assertj-core", version: "2.8.0"
}
控制台输出
com.android.builder.testing.ConnectedDevice > No tests found.
[Nexus_4_API_25(AVD) - 7.1.1] FAILED
No tests found. This usually means that your test classes are not in the form that your test runner expects (e.g. don't inherit from TestCase or lack @Test annotations).
如果将com.android.support.test:runner降级到以前的版本0.5则测试成功运行,除非至少有一个测试用例的名称以
test
开头,否则我的测试用例未被拾取
我创建了一个被忽略的虚拟测试用例:
@Test
fun testDummy() {
Assume.assumeTrue(false)
}
您是否尝试过使用@azizbekian with assertj 3.8编译失败,原因是
com.android.dx.cf.code.SimException:使用默认或静态接口方法,但不使用--min sdk版本>=24
。我想3.x分支需要android平台不支持的Java8功能。我的目标是MinAPI15 btw.tryorg.junit.Assert
,org.junit.Test
,org.junit.RunWith
…和@RunWith(AndroidJUnit4.class)
。