Yani şu sınıfını alay ediyorum varsayalım:Karmaşık bir parametrede özel değerler ile alay yönteminin çağrıldığını doğrulamak için Mq'yi kullanabilir miyim?
public class ClassAParams
{
public int RequestedId { get; set; }
public string SomeValue { get; set; }
}
public class ClassA
{
public void ExecuteAction(ClassAParams executeParams) {}
}
Şimdi başka bir sınıf (en ClassB
diyelim) olduğunu varsayalım ben bir birim test oluşturma ve ben ClassB.Execute()
çağrıldığında emin olmak için , ClassB
ClassA.ExecuteAction()
çağırır ama parametre onunla yöntem 1.
Normalde bir ClassAParams.RequestedId
değerine sahip çağrıları emin olmak için, ben myMock.Verify(x => x.ExecuteAction(new ClassAParams { RequestedId = 1, SomeValue = "something" }));
p yaparak bu işi olurdu roblem, bu birim testindeki SomeValue
parametresinin veya diğer ClassAParams
özelliklerinin değerini kontrol etmek istemiyorum. Diğer özellikler diğer ünite testlerinde kontrol edilecek, ancak her ünite testinde doğru özelliklerle (belirli bir ünite testleri kapsamında değilken bile) ünitenin bakımını rahatsız edici hale getireceğini doğrulamak zorundadır.
Alaylı bir yönteme geçirilen yapının yalnızca belirli bir değer olarak belirli özelliklere sahip olduğunu ve geri kalanını görmezden geldiğini doğrulamak için Moq'yi kullanmanın bir yolu var mı?
Bir çekicilik gibi çalıştık, teşekkürler! – KallDrexx