Запустите тест NUnit после завершения всех остальных - PullRequest
1 голос
/ 20 марта 2019

У меня есть ситуация (подробно описано ниже), в которой я хочу запустить один тест NUnit после завершения всех других тестов.Я знаю, что могу использовать атрибут порядка для начала моих тестов в определенном порядке, но в этом случае:

  1. Я хочу приписать (или иным образом изменить) только один тестиз нескольких сотен.
  2. Я хочу, чтобы этот тест выполнялся последний , а не первый.
  3. Я хочу, чтобы этот тест выполнялся после того, как все другие тесты завершены , а не после того, как они начались.

Я экспериментировал с OneTimeTearDown, но в идеале он должен выполняться как обычный именованный тест и таким образом отображаться в результатах теста.

(Почему)

У меня есть несколько сотен именованных тестов, созданных вручную, которые работают с различными папками файлов тестов json.Непрограммисты время от времени добавляют файлы в эти папки.Цель этого финального теста - проанализировать эти папки и сравнить содержимое диска с файлами, для которых тест уже был выполнен (они записываются каждым тестом).Если это указывает на наличие непроверенных файлов, которые сами по себе являются ошибкой теста.

1 Ответ

0 голосов
/ 20 марта 2019

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

К сожалению, NUnit поддерживает только этот тип «выполнения после всего» в OneTimeTearDown.Теперь вы можете выполнять утверждения в OneTimeTearDown, но любые сбои рассматриваются как ошибки, то есть непредвиденные исключения.В некоторых случаях это может быть работоспособным, но это не выглядит как сбой.

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

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