Можно ли найти текущие параметры 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 ответ

мое лучшее предположение: большинство параметризованных плагинов junit, использующих junit's Description объект. Вы должны быть в состоянии получить этот объект в вашем правиле. но то, что находится в этом объекте и достаточно ли для вашей цели, зависит от того, какой плагин вы используете. если этот не подходит для вас, попробуйте другие

Другие вопросы по тегам