Перейти к содержимому

Фотография

Сделать статус теста Fail без прекращения теста


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 5

#1 VitalyD

VitalyD

    Опытный участник

  • Members
  • PipPipPipPip
  • 285 сообщений
  • Город:Санкт-Петербург

Отправлено 13 апреля 2011 - 09:00

Добрый день.

Используется TestNG


Мне казалось что это вполне обыденная задача - пометить тест как FAILED но не прекращать его (то есть не использовать assert).
Пример: (тест находит опечатку, в лог поститься варнинг после чего хочется поставить статус теста FAILED)

В TestNG есть метод setStatus, но как я его ни крутил -ничего не вышло...
Пример нерабочего кода, при котором тест остается в состоянии PASS


       ITestResult testResult = Reporter.getCurrentTestResult();    
    testResult.setStatus(ITestResult.FAILURE);


Что посоветуете для решение описанной задачи?

PS: найдена зубодробительная ссылка - но хотелось бы найти более "простое" решение...
  • 0

#2 vitorg

vitorg

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений

Отправлено 13 апреля 2011 - 09:56

Нам для этого пришлось делать свои verify-методы по аналогии с assert, которые кладут во внутренние результаты уже наш внутренний статус.
  • 0

#3 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 13 апреля 2011 - 10:16

Нам для этого пришлось делать свои verify-методы по аналогии с assert, которые кладут во внутренние результаты уже наш внутренний статус.

Да, по приведенной в оригинальном посте ссылке про это как раз и рассказано.
Седрик там тоже отметился в комментариях, то есть он как бы согласен с тем, что более короткого пути нет.
С другой стороны -- что там такого зубодробительного? Это же один раз всего написать надо, а потом только не забыть подключить листенер.
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#4 VitalyD

VitalyD

    Опытный участник

  • Members
  • PipPipPipPip
  • 285 сообщений
  • Город:Санкт-Петербург

Отправлено 13 апреля 2011 - 11:13


Нам для этого пришлось делать свои verify-методы по аналогии с assert, которые кладут во внутренние результаты уже наш внутренний статус.

Да, по приведенной в оригинальном посте ссылке про это как раз и рассказано.
Седрик там тоже отметился в комментариях, то есть он как бы согласен с тем, что более короткого пути нет.
С другой стороны -- что там такого зубодробительного? Это же один раз всего написать надо, а потом только не забыть подключить листенер.


Да уже по такому варианту и сделали с некоторыми изменениями... просто непонятно - почему не сделали простого метода в одну строчку для того что бы вручную присвоить тесту статус - это ведь банальная и очевидно нужная всем задача.:)
  • 0

#5 vitorg

vitorg

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений

Отправлено 13 апреля 2011 - 11:15

TestNG изначально разрабатывался для модульных тестов, а не для функциональных, поэтому там этого и нет. В JUnit тоже нет, причём они говорят жёстко, что и не будет.
  • 0

#6 Misha_NSK

Misha_NSK

    Новый участник

  • Members
  • Pip
  • 58 сообщений


Отправлено 05 мая 2011 - 03:35

Думаю дешевле всего будет реализовать свои ассерты и в конце теста обработать их результаты. По результатам уже фэйлить вручную тест или идти дальше.

Либо переобределить ассерты тестНГ
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных