Можно ли найти текущие параметры 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
объект. Вы должны быть в состоянии получить этот объект в вашем правиле. но то, что находится в этом объекте и достаточно ли для вашей цели, зависит от того, какой плагин вы используете. если этот не подходит для вас, попробуйте другие