小编Ant*_*iev的帖子

FluentAssertions - Should().BeEquivalentTo() 当属性是不同类型时

如何比较具有名称相同但类型不同的属性的对象?

public class A
{
    public Guid Id { get; set; }
}

public class B
{
    public string Id { get; set; }
}

public static B Map(A a){
    return new B { Id = a.Id.ToString() };
}
Run Code Online (Sandbox Code Playgroud)

版本 1:

void Main()
{
    A a = new A { Id = Guid.NewGuid() };
    B b = Map(a);

    b.Should().BeEquivalentTo(a);
}
Run Code Online (Sandbox Code Playgroud)

这会产生以下错误:

AssertionFailedException:预期成员 ID 为 {ff73e7c7-21f0-4f45-85fa-f26cd1ecafd0},但发现“{ff73e7c7-21f0-4f45-85fa-f26cd1ecafd0}”。

该文档建议使用等效比较行为可以实现自定义属性断言规则

版本 2:

void Main()
{
    A a = new A { Id …
Run Code Online (Sandbox Code Playgroud)

c# unit-testing fluent-assertions

3
推荐指数
1
解决办法
3448
查看次数

标签 统计

c# ×1

fluent-assertions ×1

unit-testing ×1