相关疑难解决方法(0)

如何使用gradle测试将命令行参数传递给测试?

我正在使用gradle来运行JUnit测试.问题是我需要将参数从命令行传递给测试.我尝试传递系统属性但失败了.

gradle test -Darg1=something
Run Code Online (Sandbox Code Playgroud)

这是我的测试:

public class MyTest {
    @Test
    public void someTest() throws Exception {
        assertEquals(System.getProperty("arg1"), "something");
    }
}
Run Code Online (Sandbox Code Playgroud)

它失败了,因为没有arg1争论.有可能以某种方式传递命令行参数吗?

java junit arguments junit4 gradle

8
推荐指数
2
解决办法
1万
查看次数

使用参数化Junit测试中的命令行参数或系统属性?

我使用此方法来设置参数化数据:

@Parameterized.Parameters
public static Collection<Object[]> getStories() {
        Collection<Object[]> allStories = new ArrayList<Object[]>()
        new File(SPEC_DIRECTORY).eachFileRecurse(FileType.FILES) { file ->
            if (file.getName().endsWith('.story')) {
                Object[] args = [file.getName(), file]
                allStories << args
            }
        }
        return allStories
    }
Run Code Online (Sandbox Code Playgroud)

我用gradle via调用主测试gradle test,但我似乎无法看到系统属性.

如果我使用调用gradle -Dfile=test.story,那么System.getProperty('file')是未定义的.如何将参数传递给此参数化数据构建器?

groovy junit junit4 gradle

4
推荐指数
1
解决办法
1481
查看次数

标签 统计

gradle ×2

junit ×2

junit4 ×2

arguments ×1

groovy ×1

java ×1