是否可以从自定义规则中查找当前的JUnitParams参数?

时间:2015-06-23 10:18:03

标签: junit4 junit-rule junitparams

我开始使用JUnitParams编写参数化测试,它工作得很棒。例如,使用false调用以下测试,然后调用true

@Test
@Parameters ({ "false", "true" })
public void testBla (boolean foo) throws Exception
...

一个小麻烦是我有一个自定义规则(如在org.junit.rules.TestRule中),只存在向日志写入一些额外信息。它目前的作用是

public Statement apply (final Statement statement, final Description description)
{
    return new Statement ()
        {
            public void evaluate () throws Throwable
            {
                log.info (String.format ("RUNNING TEST %s::%s\n",
                                         description.getClassName (),
                                         description.getMethodName ()));
                ...

当我只有两个参数时,如果它为一个方法的两次执行写了相同的名字就不是问题了,我可以算一下。但是,规则打印参数值仍然很有用,特别是如果我有更多。

那么,是否可以在自定义规则中找到测试参数?

1 个答案:

答案 0 :(得分:0)

我最好的猜测:使用junit的Description对象的大多数参数化junit插件。你应该能够在你的规则中得到这个对象。但是这个对象中的内容是否足够取决于您使用的特定插件。如果这个对你不好,那就试试别人