Gradle无法运行带有以下注释的JUnit测试:
import org.junit.runners.Parameterized;
@RunWith(value = Paremetrized.class)
public class UnitTest {
// ...
}2014年6月有一个针对此问题的official issue尚未解决。
启用这些测试(在Gradle 2.4中)有什么变通方法吗?
发布于 2015-05-29 23:16:57
JUnit的Parameterized的另一种选择是开放源码的第三方库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'https://stackoverflow.com/questions/30528911
复制相似问题