首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Gradle中支持org.junit.runners.Parameterized的解决方法

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

Stack Overflow用户
提问于 2015-05-29 19:51:51
回答 1查看 822关注 0票数 1

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

代码语言:javascript
复制
import org.junit.runners.Parameterized;

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

2014年6月有一个针对此问题的official issue尚未解决。

启用这些测试(在Gradle 2.4中)有什么变通方法吗?

EN

回答 1

Stack Overflow用户

发布于 2015-05-29 23:16:57

JUnit的Parameterized的另一种选择是开放源码的第三方库junit-dataprovider。它由Gradle支持(使用2.4进行了测试)。

usage类似于:

代码语言:javascript
复制
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的依赖行:

代码语言:javascript
复制
testCompile 'com.tngtech.java:junit-dataprovider:1.9.3'
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30528911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档