我有兩個類:如何使用排除在FluentAssertions集合中的屬性?
public class ClassA
{
public int? ID {get; set;}
public IEnumerable<ClassB> Children {get; set;}
}
public class ClassB
{
public int? ID {get; set;}
public string Name {get; set;}
}
我想用流利的斷言來比較ClassA的實例。但是我想忽略這些ID(因爲這些ID在保存後將被分配)。
我知道我能做到這一點:
expectedA.ShouldBeEquivalentTo(actualA, options => options.Excluding(x => x.PropertyPath == "Children[0].ID"));
,我可以在收集明顯重複每個ClassB的。不過,我正在尋找一種方法來排除所有的ID(而不是對每個元素進行排除)。
我讀過this question但是,如果我刪除[0]索引器斷言失敗。
這可能嗎?
我打算將這一個標記爲答案,因爲擴展方法中的正則表達式是我最後使用的方法 – Liath
在更新版本的FluentAssertions中,這有何變化?我不確定'PropertyPath'仍然存在 – superjos