Как я могу расширить 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

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