У меня есть методы отображения, которые отображают модель A
на модель B
.Я пишу модульные тесты для всего этого.Я хочу как-то хорошо справиться с ситуацией, когда у модели назначения много свойств, но большинство из них null
.Цель теста состоит в том, чтобы проверить, что некоторое небольшое количество свойств было правильно сопоставлено, а другие не были сопоставлены вообще (не было установлено ничего, кроме заданных свойств) без необходимости указывать каждое свойство.
Я не могу изменить B
class, потому что обычно это сервисный контракт, который я вызываю только с несколькими свойствами из многих.
Не могли бы вы помочь, как упростить модульный тест?
Я использую .NET Core 2.1и NUnit.
Пример текущего состояния:
public class B
{
public string Id { get; set; }
public string Prop1 { get; set; }
public string Prop2 { get; set; }
public string Prop3 { get; set; }
public string Prop4 { get; set; }
public string Prop5 { get; set; }
// a lot of other properties
}
Метод отображения:
public B Map(A a)
{
return new B
{
Id = a.Id // only Id property is set
};
}
Тест:
[Test]
public void MapTest()
{
var a = new A { Id = "123" };
var b = mapping.Map(a);
Assert.That(b, Is.Not.Null);
Assert.That(b.Id, Is.EqualTo(a.Id));
Assert.That(b.Prop1, Is.Null); // this is what i want to simplify
Assert.That(b.Prop2, Is.Null);
Assert.That(b.Prop3, Is.Null);
Assert.That(b.Prop4, Is.Null);
Assert.That(b.Prop5, Is.Null);
// a lot of other properties
}