У меня есть тест, который проверяет вывод коллекции метода. Этот вариант теста проходит:FluentAssertions ShouldBeEquivalentTo() versus Should(). BeEquivalentTo()
[TestMethod, TestCategory("BVT")]
public void TheStatusesAreReturned()
{
var expectedUnprocessedStatuses = new List<FileUploadStatus>
{
FileUploadStatus.InProcess,
FileUploadStatus.Pending,
};
Sut.GetUnprocessedStatuses()
.Should()
.BeEquivalentTo(expectedUnprocessedStatuses);
}
Этот вариант тест не удается, с ошибкой "Ожидаемый элементом [0], чтобы быть InProcess, но нашел Pending":
[TestMethod, TestCategory("BVT")]
public void TheStatusesAreReturned2()
{
var expectedUnprocessedStatuses = new List<FileUploadStatus>
{
FileUploadStatus.InProcess,
FileUploadStatus.Pending,
};
Sut.GetUnprocessedStatuses()
.ShouldBeEquivalentTo(expectedUnprocessedStatuses);
}
Очевидно, что ShouldBeEquivalentTo
заботы о доставке заказа, тогда как BeEquivalentTo
нет. Почему понятие эквивалентности отличается от двух методов?
Хорошо, я с нетерпением жду обновления. Я использую Should(). BeEquivalentTo() довольно много! –
Это старый пост, но 'ShouldBeEquivalentTo' будет игнорировать порядок элементов в коллекции начиная с версии 2.1. –