gpt4 book ai didi

java - 在 Gradle 中支持 org.junit.runners.Parameterized 的解决方法

转载 作者:行者123 更新时间:2023-11-30 08:09:55 25 4
gpt4 key购买 nike

Gradle 无法运行带有注释的 JUnit 测试:

import org.junit.runners.Parameterized;

@RunWith(value = Paremetrized.class)
public class UnitTest {
// ...
}

有一个official issue这个问题从 2014 年 6 月开始到现在还没解决。

是否有任何解决方法可以启用这些测试(在 Gradle 2.4 中)?

最佳答案

JUnit 参数化的替代方案是开源第三方库 junit-dataprovider 。它由 Gradle 支持(使用 2.4 测试)。

usage类似的是:

import static org.junit.Assert.*;

import org.junit.Test;
import org.junit.runner.RunWith;

import com.tngtech.java.junit.dataprovider.DataProvider;
import com.tngtech.java.junit.dataprovider.DataProviderRunner;
import com.tngtech.java.junit.dataprovider.UseDataProvider;

@RunWith(DataProviderRunner.class)
public class DataProviderTest {

@DataProvider
public static Object[][] dataProviderAdd() {
// @formatter:off
return new Object[][] {
{ 0, 0, 0 },
{ 1, 1, 2 },
/* ... */
};
// @formatter:on
}

@Test
@UseDataProvider("dataProviderAdd")
public void testAdd(int a, int b, int expected) {
// Given:

// When:
int result = a + b;

// Then:
assertEquals(expected, result);
}
}

Gradle 的依赖行:

testCompile 'com.tngtech.java:junit-dataprovider:1.9.3'

关于java - 在 Gradle 中支持 org.junit.runners.Parameterized 的解决方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30528911/

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