1 回答
TA贡献1936条经验 获得超6个赞
为什么会出现这个异常
发生异常是因为您正在调用函数
.Including(o => o.Property1.StartsWith("something")) //<-- expects property only
在仅期望获得属性表达式的表达式中。
.Including(o => o.Property1) //<-- expects property only
引用原始问题中链接的相同文档,您的示例在进行比较时将仅包含指定的成员。
对于您想要做的事情,您应该查看该Equivalency Comparison Behavior部分,根据您的评论,该部分可能类似于以下示例
[TestClass]
public class ObjectEquivalencyTests {
[TestMethod]
public void ShouldBeEquivalent() {
var expected = new MyObject {
Property1 = "https://www.google.com",
Property2 = "something else"
};
var actual = new MyObject {
Property1 = "https://www.google.com/search?q=test",
Property2 = "something else"
};
actual.Should().BeEquivalentTo(expected, options => options
.Using<string>(ctx => ctx.Subject.Should().StartWith(ctx.Expectation))
.When(info => info.SelectedMemberPath == "Property1")
);
}
}
public class MyObject {
public string Property1 { get; set; }
public string Property2 { get; set; }
}
- 1 回答
- 0 关注
- 87 浏览
添加回答
举报