Ich versuche, eine Eigenschaft zu testen, die in einer untergeordneten Klasse verschachtelt ist. Ich bekomme immer einen Fehler. Fehle ich etwas? Ist es möglich, eine untergeordnete Eigenschaft in moq zu testen?Mocking ChildProperty kann es nicht zum Funktionieren bringen?
Ich habe folgendes
[Test]
public void Should_be_able_to_test_orderCollection()
{
var orderViewMock = new Mock<IOrderView>();
orderViewMock.SetupGet(o => o.Customer.OrderDataCollection.Count).Returns(2);
orderViewMock.SetupSet(o => o.Customer.OrderDataCollection[1].OrderId = 1);
orderViewMock.VerifySet(o => o.Customer.OrderDataCollection[1].OrderId=1);
}
public class CustomerTestHelper
{
public static CustomerInfo GetCustomer()
{
return new CustomerInfo
{
OrderDataCollection = new OrderCollection
{
new Order {OrderId = 1},
new Order {OrderId = 2}
}
};
}
}
public class CustomerInfo
{
public OrderCollection OrderDataCollection { get; set; }
}
public class OrderCollection:List<Order>
{
}
public class Order
{
public int OrderId { get; set; }
}
public interface IOrderView
{
CustomerInfo Customer { get; set; }
}
Vielen Dank für Ihre Antwort. Willst du damit sagen, dass ich diese Eigenschaft virtuell machen soll und es funktioniert? – user9969
Die virtuelle OrderDataCollection könnte ebenfalls funktionieren. In einem anderen Hinweis sollten Auflistungseigenschaften schreibgeschützt sein. –
Vielen Dank Ich scheint es jetzt zu verstehen. Ich habe eine Schnittstelle gemacht – user9969