Как изменить имя вывода отчета testNG? - PullRequest
0 голосов
/ 19 марта 2011

Мой тестовый класс описан так:

private String TESTFILES = "test/tests";

@DataProvider(name = "tests")
public Iterator<Object[]> readTestFiles() { 
    // read a list of files ...
}

@Test(dataProvider = "tests")
public void sendRequest(File f) throws ParseException {
    // do something
}

Отчет о тестировании выглядит следующим образом:

test\tests\text.xml
PASSED: sendRequest(test\tests\text.xml)

===============================================
    Default test
    Tests run: 1, Failures: 0, Skips: 0
===============================================

Как изменить имя вывода в отчете?

This one:           sendRequest(test\tests\text.xml)
I'll have instead:  sendRequest(text.xml)

Проблема в том, что, если поставщик данных предоставляет длинный текст в виде строчки, отчет об испытаниях выглядит ужасно.

1 Ответ

1 голос
/ 19 марта 2011

Параметр метода тестирования - это просто выравнивание аргумента .toString ().Вы можете заключить свой аргумент File в простой держатель, как показано ниже:

class FileHolder {
   private final File file;
   FileHolder(File f) {
      this.file = f;
   }
   public String toString() {
      return this.file.getName();
   }
}

Но, конечно, тогда вам нужно извлечь файл из держателя.Я также нашел эту технику полезной, когда ожидаю, что мне, возможно, придется добавить больше полей к выводу @DataProvider, и я не хочу менять сигнатуры метода несколько раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...