W moich NUnit/FluentAssertions testów porównam złożony obiekt zwrócony z mojego systemu z jednego odniesienia za pomocą następującego kodu:Jak wykluczyć właściwość wszystkich elementów w IEnumerable przy użyciu opcji ShouldBeEquivalentTo?
response.ShouldBeEquivalentTo(reference, o => o.Excluding(x => x.OrderStatus)
.Excluding(x => x.Id)
.Excluding(x => x.Items[0].Name)
.Excluding(x => x.Items[0].Article)
.Excluding(x => x.ResponseStatus));
Jednakże, nie jest to dokładnie to, co zamierzałem. Chciałbym wykluczyć Name
i Article
dla każdego obiektu na liście Items
, a nie tylko dla 0. Jak mogę wdrożyć ten scenariusz?
Sprawdziłem przez documentation i nie znalazłem rozwiązania. Czy czegoś brakuje?
Jak dokładnie powinienem używać PropertyPath w moim przykładzie? Próbowałem PropertyPath == "Items.Name" i "Order.Items.Name", ale to nie działa. – kojo
Co z ctx.PropertyPath.EndsWith ("]. Name") || ctx.PropertyPath.EndsWith ("]. Artykuł")? –
To działa, dziękuję. Myślę, że powinienem użyć wyrażenia regularnego, jeśli chcę również dopasować nazwę kolekcji. Czy jest jakaś dokumentacja dotycząca tego, jak dokładnie będzie wyglądać właściwość PropertyPath w różnych okolicznościach? – kojo