gpt4 book ai didi

android - 无法使用 Android Test Orchestrator 运行参数化测试

转载 作者:行者123 更新时间:2023-12-02 11:44:48 25 4
gpt4 key购买 nike

我正在尝试使用 Android Test Orchestrator 运行参数化测试。但由于某种原因,参数化测试不会开始。我可以在没有 Orchestrator 的情况下正确运行所有测试,但我需要它来清除测试之间的一些数据。
这是 Gradle 的输出。它可以看到所有 14 个测试,但只有 12 个被执行(缺少 2 个被参数化):

Starting 14 tests on Nexus_5X_API_27(AVD) - 8.1.0

Tests on Nexus_5X_API_27(AVD) - 8.1.0 failed: Test run failed to complete. Expected 14 tests, received 12

Test run failed to complete. Expected 14 tests, received 12
Gradle :
android {

defaultConfig {
testInstrumentationRunner "foo.bar.CustomRunner"
}

testOptions {
unitTests.returnDefaultValues = true
execution 'ANDROID_TEST_ORCHESTRATOR'
}
}

dependencies {
androidTestImplementation "com.android.support.test:runner:$runnerVersion"
androidTestUtil "com.android.support.test:orchestrator:$runnerVersion"
}
测试:
@LargeTest
@RunWith(Parameterized::class)
class ParamTest(val param1: String, val param2: String) {

companion object {
@JvmStatic
@Parameterized.Parameters
fun data(): Collection<Array<Any>> {
return listOf(
arrayOf("param1", "param2"),
arrayOf("param21", "param22")
)
}
}

@Test
fun shouldDoSthWithParams() {
//some test
}

}
编辑:
作为一种解决方法,可以使用密封类:
@LargeTest
@RunWith(AndroidJUnit4::class)
class ParamTest1 : ParamTest("param1", "param2")

@LargeTest
@RunWith(AndroidJUnit4::class)
class ParamTest2 : ParamTest("param21", "param22")

sealed class ParamTest(val param1: String, val param2: String) {

@Test
fun shouldDoSthWithParams() {
//some test
}

}

最佳答案

关于android - 无法使用 Android Test Orchestrator 运行参数化测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48735268/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com