У меня есть такая модель:
Код: Выделить всё
public record GetOrdersResponse
{
public required IReadOnlyCollection Orders { get; init; }
}
Код: Выделить всё
[Theory, AutoData]
public async Task GetOrdersAsync_ReturnsExpectedResponse
(
GetOrdersResponse expected
)
{
...
// Assert
result.ShouldBeEquivalentTo(expected);
}
Код: Выделить всё
Expected value to be
System.Collections.ObjectModel.ReadOnlyCollection`1[Order]
but was
System.Collections.Generic.List`1[Order]
Единственный способ заставить его "работать" до сих пор - это изменить объявленный тип свойства модели на List, что абсолютно ужасно. Я не хочу разрушать свою модель, чтобы она соответствовала тестам.
Или я могу выполнить сравнение свойств по свойствам, вызвав ToArray() как для фактического, так и для ожидаемого массива, но это невозможно масштабировать по мере добавления новых свойств.
Есть ли способ заставить его игнорировать конкретный тип?