Есть ли способ указать тест NUnit как «дополнительный кредит»? - PullRequest
0 голосов
/ 18 сентября 2018

У меня есть несколько тестов для API, и я хотел бы иметь возможность выразить некоторые тесты, которые отражают «желательные» или «дополнительные кредитные» требования - иными словами, это хорошо, если они пройдут, но хорошо, если они не«т.Например:

[Test]
public void RequiredTest()
{
    // our client is using positive numbers in DoThing();
    int result = DoThing(1);
    Assert.That( /* result is correct */ );
}

[Test]
public void OptionalTest()
{
    // we do want to handle negative numbers, but our client is not yet using them
    int result = DoThing(-1);
    Assert.That( /* result is correct */ );
}

Я знаю об атрибуте Ignore, но я хотел бы иметь возможность пометить OptionalTest таким образом, чтобы он все еще работал на сервере CI, но хорошо, еслиэто не проходит - как только это произойдет, я хотел бы обратить внимание и, возможно, сделать это требованием.Есть ли какая-либо основная инфраструктура модульного тестирования, которая поддерживает это?

1 Ответ

0 голосов
/ 19 сентября 2018

Я бы использовал Warnings для достижения этой цели.Таким образом, ваш тест напечатает вывод «предупреждение», но не будет провалом и не провалит вашу сборку CI.

См .: https://github.com/nunit/docs/wiki/Warnings

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

Эта часть является немного отдельным требованием!Многое зависит от того, как вы хотите «заметить»!Обратите внимание на пользовательские атрибуты - возможно, можно написать атрибут IWrapSetUpTearDown, который отправляет электронное письмо при прохождении соответствующего теста.См. Документы здесь: https://github.com/nunit/docs/wiki/ICommandWrapper-Interface

Последнее является более необычным требованием - я бы ожидал сделать что-то нестандартное, чтобы соответствовать вашим потребностям!

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