- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
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/
我实际上正在尝试在使用以下类的 AndroidJunit 测试项目中实现一个简单的测试套件 用户界面对象 用户界面选择器 UiAutomator 测试用例 在 Android 设备上单击并打开 Mes
我在使用 jacoco 为 Android Instrumentation Test 创建测试报告时遇到问题。我正在使用 AndroidJUnit4 创建测试用例。 这是我正在做的: 创建测试用例并放
我是一名优秀的程序员,十分优秀!