Сделать так, чтобы NUnit не останавливался при первой неудаче - PullRequest
3 голосов
/ 29 мая 2009

Я запускаю тест NUnit для списка чисел.

Мой код выглядит примерно так:

numbers = GetListOfNumbers()
foreach number in numbers
      Assert.IsTrue(TestNumber(number))

Моя проблема в том, что NUnit остановит тест по первому встречному номеру, который не прошел тест.

Есть ли способ заставить NUnit по-прежнему не проходить тест, если какие-либо числа не проходят, но дать мне список всех не пройденных номеров?

Ответы [ 3 ]

7 голосов
/ 29 мая 2009

В качестве обходного пути, вместо использования Assert.IsTrue, как это, вы можете попробовать что-то вроде:

numbers = GetListOfNumbers()
List<number> fails = numbers.Where(currentNum=>!TestNumber(curentNum))
if (fails.Count > 0)
    Assert.Fail(/*Do whatever with list of fails*/)
6 голосов
/ 29 мая 2009

NUnit 2.5 имеет тестирование на основе данных; это будет делать именно то, что вам нужно. Он будет перебирать все ваши данные и генерировать индивидуальные тесты для каждого числа.

Ссылка

0 голосов
/ 29 мая 2009

Это можно сделать в MBUnit, используя метод теста «RowTest». Однако я не знаю, как это сделать в NUnit.

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