Как я могу расширить Assert.That, Nunit?C#

Место общения программистов C#
Ответить
Anonymous
 Как я могу расширить Assert.That, Nunit?

Сообщение Anonymous »

Используя NUnit 4.2, .NET 8
Я могу вывести собственное сообщение об исключении в случае сбоя, используя параметр message в Assert.That(). Это сообщение отображается, когда утверждение завершается неудачей.
Однако я ищу способ выводить некоторые сообщения, даже если утверждение успешно.
Мой вариант использования: что у меня много утверждений в одном методе тестирования. И мне хотелось бы иметь возможность отслеживать, что утверждается в каждом методе тестирования из конвейера CI.

Код: Выделить всё

TestContext.Out.WriteLine
работает для вывода журналов даже в случае успеха, я решил расширить метод Assert.That, чтобы у меня не было кучи TestContext.Out.WriteLines после каждого Assert, но я не могу заставить его работать. (Проблемы с навыками C#)

Код: Выделить всё

[Test]
public void Add_Two_Numbers()
{
int a = 2, b = 3, c = 4, d = 5;

int resultAB = a + b;
int resultCD = c + d;

Assert.Multiple(() =>
{
Assert.That(resultAB, Is.EqualTo(5), message: "Somehow it's not 5", assertDescription: $"Checking if {a}+{b} is equal to 5");
Assert.That(resultCD, Is.EqualTo(9), message: "Somehow it's not 9", assertDescription: $"Checking if {c}+{d} is equal to 9");
});
}
Вопросы:
  • Как я могу расширить Assert.that с новым параметром.
    Есть ли способ проверить успешность утверждения? Особенно если они имеют область действия Assert.Multiple(), это не вызывает исключений.
Примечание:

Примечание:

Strong> Разбить его на несколько методов тестирования не вариант для моего конкретного случая использования.

Подробнее здесь: https://stackoverflow.com/questions/790 ... that-nunit
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»