gpt4 book ai didi

AndroidJUnit4 和参数化测试

转载 作者:IT老高 更新时间:2023-10-28 23:34:04 26 4
gpt4 key购买 nike

Google 提供了新的类来为 Android 编写测试,尤其是使用 jUnit 4:https://developer.android.com/tools/testing-support-library/index.html

我想知道是否可以使用来自 jUnit 的 AndroidJUnit4 运行器以及参数化运行器?

最佳答案

当前接受的答案没有提供解释,并且链接的示例不能很好地说明需要做什么。这是一个更完整的解释,希望可以避免有人花时间我弄清楚这一点。


虽然文档并没有让这一点非常明显,但实际上设置起来非常容易!只要您在模块 build.gradle 文件中设置 testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" ,您就可以使用另一个运行器进行检测的 Android 测试。如果已设置,则无需在检测的测试中显式设置 @RunWith(AndroidJUnit4.class)

一个最小的例子如下所示:

build.gradle:

apply plugin: 'com.android.application'

android {
compileSdkVersion 26
buildToolsVersion "26.0.1"

defaultConfig {
minSdkVersion 19
targetSdkVersion 26

testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
}

SampleParameterizedTest.java:

@RunWith(Parameterized.class)
public class SampleParameterizedTest {

@Parameter(value = 0)
public int mTestInteger;

@Parameter(value = 1)
public String mTestString;

@Parameters
public static Collection<Object[]> initParameters() {
return Arrays.asList(new Object[][] { { 0, "0" }, { 1, "1" } });
}

@Test
public void sample_parseValue() {
assertEquals(Integer.parseInt(mTestString), mTestInteger);
}
}

如果您还需要单独运行一些测试并在同一测试类中参数化其他测试,请参阅使用 Enclosed 运行器的答案:https://stackoverflow.com/a/35057629/1428743

关于AndroidJUnit4 和参数化测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29538008/

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