NUnit: отслеживание разницы между ожидаемым и фактическим в составном результате с использованием библиотеки SemanticComparison .NET

Я использую SemanticComparison в своих модульных тестах (NUnit) и часто получаю такие ошибки:

Expected Likeness of T But was T

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

Для полноты моего кода это что-то вроде ниже. Тем не менее, я надеюсь, что этот вопрос прочитает кто-то, знакомый с SemanticComparison (это пакет библиотеки /NuGet для помощи в модульных тестах, выполненных Марком Симэнном, иначе Ploeh. Это побочный проект AutoFixture.).

_sut = new someService(apiKey);
var expectedResultaat = new someService {
    Prop1 = 1,
    Prop2 = 2,
}

var expected = expectedResultaat.AsSource().OfLikeness<ServiceResult>()
    .Without(i => i.Prop1)

 // Assert.
 Assert.AreEqual(expected, actual);

1 ответ

Использование

expected.ShouldEqual(actual);

вместо

Assert.AreEqual(expected, actual);
Другие вопросы по тегам