相关疑难解决方法(0)

FluentAssertions ShouldBeEquivalentTo()与Should().BeEquivalentTo()

我有一个测试验证方法的集合输出.测试的这种变化通过:

    [TestMethod, TestCategory("BVT")]
    public void TheStatusesAreReturned()
    {
        var expectedUnprocessedStatuses = new List<FileUploadStatus>
            {
                FileUploadStatus.InProcess,
                FileUploadStatus.Pending,
            };

        Sut.GetUnprocessedStatuses()
            .Should()
            .BeEquivalentTo(expectedUnprocessedStatuses);
    }
Run Code Online (Sandbox Code Playgroud)

测试的这种变化失败,错误"预期项目[0]为InProcess,但发现待定":

    [TestMethod, TestCategory("BVT")]
    public void TheStatusesAreReturned2()
    {
        var expectedUnprocessedStatuses = new List<FileUploadStatus>
            {
                FileUploadStatus.InProcess,
                FileUploadStatus.Pending,
            };

        Sut.GetUnprocessedStatuses()
            .ShouldBeEquivalentTo(expectedUnprocessedStatuses);
    }
Run Code Online (Sandbox Code Playgroud)

显然,ShouldBeEquivalentTo关心收集项目的顺序,而BeEquivalentTo不是.为什么两种方法之间的等效概念不同?

unit-testing fluent-assertions

7
推荐指数
1
解决办法
5055
查看次数

标签 统计

fluent-assertions ×1

unit-testing ×1