1 回答
TA貢獻(xiàn)1936條經(jīng)驗(yàn) 獲得超7個(gè)贊
為什么會出現(xiàn)這個(gè)異常
發(fā)生異常是因?yàn)槟谡{(diào)用函數(shù)
.Including(o => o.Property1.StartsWith("something")) //<-- expects property only
在僅期望獲得屬性表達(dá)式的表達(dá)式中。
.Including(o => o.Property1) //<-- expects property only
引用原始問題中鏈接的相同文檔,您的示例在進(jìn)行比較時(shí)將僅包含指定的成員。
對于您想要做的事情,您應(yīng)該查看該Equivalency Comparison Behavior部分,根據(jù)您的評論,該部分可能類似于以下示例
[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 關(guān)注
- 141 瀏覽
添加回答
舉報(bào)
