2017-02-01 4 views
3

Скажите, что мы имеем следующий тест блока:Сделать Nunit провалиться по недействительным параметрам теста

[Test] 
public void OneAndOneTest(int one) 
{ 
    Assert.That(1 + one, Is.EqualTo(2)); 
} 

компилятор будет принимать этот код. Но сам тест неверен, поскольку он должен был быть [TestCase(1)] вместо [test]. При выполнении этого теста специально с Nunit, он даст ошибку, говоря, что есть несоответствие параметров. Однако, когда я запускаю весь тест в решении, я получаю «пропущенный» результат вместо указанной ошибки.

Локально это досада. Но вы должны были протестировать свой тест при написании, поэтому это не слишком большая проблема. (должно быть ключевое слово здесь ...)

Однако, когда Дженкинс бежит, чтобы проверить, он должен всегда терпеть неудачу. Неспособность выполнить пропущенные тесты не является вариантом, так как место, в котором я работаю, позволяет в некоторых случаях пропускать тесты.

Проблемы с Nunit (я думаю). Как моя локальная система, так и Jenkins запускают исполняемый файл NUnit и транслируют результаты из исполняемого файла. Моя локальная система портирует его в Dot-покрытие, в то время как Jenkins его сбрасывает в XML-файл, который анализирует Nunit plugin в процессе сборки.

Короче говоря: Есть, с NUnit, таким образом, чтобы потерпеть неудачу сборки, когда выполняется все испытания в растворе с одним или более тестов, имеющих неправильное количество параметров

+0

Какую версию NUnit вы используете? Я пробовал то же самое с NUnit 3.6, и тест и общий результат «Failed» ... Может быть, это проблема со старыми версиями NUnit? –

+1

Тест недействителен и должен давать ошибку, а не сбой. Общий результат должен быть неудачным. Его нельзя пропустить, за исключением очень ранней версии NUnit, которая считала недействительные тесты пропущенными. Чтобы дать реальный ответ, потребуется знание версий фреймворка и участника. – Charlie

+0

Хорошая точка в версии. При проверке я заметил, что мы запускаем удивительно старую версию (2.6.4). Сегодня я обновлю его и посмотрю, поможет ли это. –

ответ

1

проблема с NUnit версии я попробовал ту же самую вещь с последней версией (NUnit 3.6) и результатом теста, а также общим результатом «Failed», см выхода ниже с NUnit консоли:

NUnit консоли Runner 3.6.0 Copyright (C) 2017 Charlie Poole Ошибки, сбои и предупреждения

1) Invalid: ConsoleApplication1.Program.add Метод имеет непустое возвращаемое значение, но никакого результата не ожидается
Test Run Summary Общий результат: Ошибка
Test Count: 1, Зачет: 0, Не: 1, Предупреждения: 0, Неверный: 0, Пропущенный: 0 Неисправные тесты - Неудачи: 0, Ошибки: 0, Неверно: 1

 Смежные вопросы

  • Нет связанных вопросов^_^