【发布时间】:2018-06-05 09:37:00
【问题描述】:
我有公共类 RuleInfo,它是从内部类 Rule 创建的。
private static RuleInfo CreateRuleInfo(Rule r)
{
return new RuleInfo
{
RuleCode = r.RuleId,
DisplayName = r.RuleCode,
Description = r.Description,
LegacyRuleCode = null
};
}
它们的属性名称各不相同,因此 ShouldBeEquivalentTo() 或 ShouldAllBeEquivalentTo() 不起作用。
现在我正在手动/明确地比较它们:
foreach (var x in Enumerable.Zip(infs, rules, (i, r) => new { Info = i, Rule = r }))
{
x.Info.ShouldBeEquivalentTo(
new
{
RuleCode = x.Rule.RuleId,
DisplayName = x.Rule.RuleCode,
Description = x.Rule.Description,
LegacyRuleCode = (string)null
});
}
有没有更好、更紧凑、更简洁、更易读的方式?
【问题讨论】:
标签: c# unit-testing fluent-assertions