Свободные Утверждения Должны AllBeEquivalentTo
Я не уверен, было ли это в старой версии FluentAssertions, но я бы хотел сравнить коллекцию с другой коллекцией. У меня ДТО вроде так:
public class UserDTO
{
public int Id { get; set; }
public string Username { get; set; }
}
У меня есть два списка, которые я хотел бы сравнить.
List<UserDTO> createdUsers = this.GetCreatedUser();
var expectedResults = this.dbContext.Users.Top(10);
Самое близкое, что я вижу, должно быть эквивалентно:
createdUsers.Should().AllBeEquivalentTo(expectedResults)
но когда я пытаюсь передать свои исключения, кажется, что он работает, предоставляя мне исключения для списка, а не для самой сущности.
Я хотел бы сравнить два списка из них, исключая свойство Id. Я мог поклясться, была функция под названием ShouldAllBeEquivalentTo
который взял в опциях, чтобы исключить,
createdUsers.ShouldAllBeEquivalentTo(expectedResults, o => o.Excluding(x => x.Id);
Как я могу сравнить коллекции, исключая свойства в сравнении?
1 ответ
Документация предлагает следующее, когда дело доходит до исключений с коллекциями и словарями
createdUsers.Should().BeEquivalentTo(expectedResults, options => options.Excluding(_ => _.Id));
Цитата из документации:
чтобы утверждать, что все экземпляры OrderDto структурно равны одному объекту:
orderDtos.Should().AllBeEquivalentTo(singleOrder);
Сравнение графов эталонных объектов: словари и словари