Логирование тестов RestAssured

266
20 декабря 2017, 22:12

Как правильно логировать тесты? Можно ли в лог вывести прошел тест или не прошел? И как это сделать? Нашел вот такое

RestAssured.filters(new ResponseLoggingFilter(LogDetail.ALL, fileOutPutStream),
                new RequestLoggingFilter(LogDetail.ALL, fileOutPutStream));

Работает, только непонятно прошел тест или не прошел. Если не прошел, то в консоль просто выбрасывает что тест не прошел потому то и по тому то, а в лог это не пишется

Answer 1

Можно использовать org.junit.Rule. Пример из живого проекта:

public static final Stopwatch STOPWATCH = new Stopwatch() {
    @Override
    protected void finished(long nanos, Description description) {
        String result = String.format("%-95s %7d", description.getDisplayName(), TimeUnit.NANOSECONDS.toMillis(nanos));
        results.append(result).append('\n');
        log.info(result + " ms\n");
    }
};

org.junit.rules.Stopwatch имеет набор методов, которые запускаются :

  • когда тест прошел проверку
  • когда тест завалился
  • когда тест закончился(с любым результатом)
  • когда тест пропущен

Из org.junit.runner.Description можно достать информацию о методе:

  • имя класс тестов
  • имя запущенного метода (теста)
  • Объект класса тестов Class<?>

В общем попробуйте а там поймете. Rule надо отмечать аннотациями на выбор:

  • @Rule и они будут запускаться\создаваться для каждого теста.
  • @ClassRule создаст правило для класса, т.е. одно на все тесты (аналог static поля или метода)
READ ALSO
проблема с jar файлом

проблема с jar файлом

Сделал в Intellij jar файлНа моей пк все работает отлично

257
Задача : Поиск эквивалентных массивов

Задача : Поиск эквивалентных массивов

Решил такую задачку: на вход метода поступают n массивов строк, нужно определить дубликаты ли эти массивы игнорируя порядок и число объектовНапример...

267
Не переходит по ссылкам тест

Не переходит по ссылкам тест

Есть файл с набором методов для selenium WebDriver на javaИ есть тест

233
Два Navigation Drawer в андроид ява

Два Navigation Drawer в андроид ява

В приложения хочу сделать два Navigation Drawer как в приложении Stack Exchangeесть ли где нибудь тутариулы на эту задачу?

221