0

我开始使用 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 ()));
                ...

当我上面只有两个参数的时候,一个方法的两次执行写同名是没有问题的,我可以简单的数一下。但是,打印参数值的规则仍然很有用,特别是如果我有更多。

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

4

1 回答 1

0

我最好的猜测:大多数使用 junitDescription对象的参数化 junit 插件。你应该能够在你的规则中得到这个对象。但是这个对象中的内容以及是否足以满足您的目的取决于您使用的特定插件。如果这个不适合你,试试其他的

于 2015-09-26T11:03:07.363 回答