Pregunta

¿Cómo me burlaría de una imagen con Moq?

No tiene constructores (siempre se genera a partir de métodos de fábrica).

Básicamente quiero hacer algo como esto ...

var image = new Mock<Image>();
image.Setup(i=>i.Save(someStream,ImageFormat.Jpeg);
var testableObject = new ObjectUnderTest(image.Object);

testableObject.MethodBeingTested();

image.VerifyAll();
¿Fue útil?

Solución

Respondió una pregunta similar ayer, es posible que desee echar un vistazo a este hilo al simular un Singleton estático .

Si es absolutamente necesario simular este comportamiento, entonces el método proscrito es generar una interfaz que exponga los métodos que necesita, implementarlo con una clase concreta [envolver efectivamente la clase de imagen] para prod, y simular la interfaz para la prueba.

Suena excesivo, pero si necesitas Simular \ verificar las interacciones entre tu clase comprobable e Imagen, esa es la manera de hacerlo. Alternativamente, puede pasar a su clase comprobable una instancia real de la imagen y luego comparar esta instancia con una salida esperada [metodología de prueba de unidad estándar]

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top