我正在使用流利的断言比较两个集合,并且考虑到项目数匹配但项目属性值不匹配,我收到消息说Expected item [2]。要求为False,但发现为True。现在我要做的是而不是说item [2]。Required应该说name.Required,即我想了解如何使用消息中使用的属性之一,以便我可以立即知道它正在谈论的项目。目前,我必须在该索引的表中查找该项目,以查看哪个项目不匹配,而当它们太多时,这将变得不便。
例如将集合与以下类进行比较,在该类中预期集合有5个元素,其“名称”属性设置为A,B,C,D和E。我想流畅地断言告诉我A.Required或B.Required或C.Required是期望是某物,但它又是另外的东西。A.Address期望是某物,但是又是另外的东西。B.Address是...,依此类推,而不是说item [0]。 else item [1]。必填项应该是其他内容,以此类推。
public class Element
{
public string Name {get;set;}
public Required {get;set;}
public Address {get;set;}
}
我尝试寻找一些答案,但不知道要搜索什么。 请让我知道是否可以使问题更清楚
谢谢
答案 0 :(得分:0)
您可以使用
启用跟踪以获取更多详细信息actual.Should().BeEquivalentTo(expected, options => options.WithTracing());
然后,如果您要在ToString()
上覆盖Element
,则会在跟踪中获得所需的详细信息。