【发布时间】:2016-11-08 18:54:43
【问题描述】:
我正在使用 Fluent Assertions 来验证不同的测试对象
public class DTO
{
public int Key {get; set;}
public string Code { get; set; }
}
public class KeyDTO
{
public int Id {get; set;}
public string Code { get; set; }
}
注意:这不是代码的精确副本,原始 DTO 中有更多字段,但没有必要解释问题
我正在创建一个函数来断言它们是平等的我正在尝试使用流利的断言来做到这一点。我想不出办法说 Id 映射到键。
public void AssertDTOsAreEqual( List<DTO> orderedDTOs, List<KeyDTO> orderedKeys)
{
orderedDTOs.ShouldAllBeEquivalentTo(orderedKeys, o => o/*??*/)
}
注意:我知道作为一种替代方法,我可以通过压缩有序集合并比较每个属性来做到这一点,但对于更冗长的 DTO,这将很难为每个属性进行比较。
有谁知道在 ShouldAllBeEquivalentTo 中映射不同属性的方法。或者一般来说可能有更好的方法来做到这一点?
【问题讨论】:
标签: c# assert fluent-assertions