我开始使用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 ()));
...
当我只有两个参数时,如果它为一个方法的两次执行写了相同的名字就不是问题了,我可以算一下。但是,规则打印参数值仍然很有用,特别是如果我有更多。
那么,是否可以在自定义规则中找到测试参数?
答案 0 :(得分:0)
我最好的猜测:使用junit的Description
对象的大多数参数化junit插件。你应该能够在你的规则中得到这个对象。但是这个对象中的内容是否足够取决于您使用的特定插件。如果这个对你不好,那就试试别人