Question

Comment puis-je me moquer d'une image avec Moq?

Il n'a pas de constructeur (est toujours généré à partir des méthodes d'usine).

En gros, je veux faire quelque chose comme ça ...

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

testableObject.MethodBeingTested();

image.VerifyAll();
Était-ce utile?

La solution

Vous avez répondu à une question similaire hier, vous souhaiterez peut-être jeter un coup d'œil à ce fil sur se moquer d'un Singleton statique .

S'il est absolument nécessaire de simuler ce comportement, la méthode proscrite consiste à générer une interface exposant les méthodes dont vous avez besoin, à l'implémenter avec une classe concrète [encapsulant effectivement la classe Image] pour prod et à simuler l'interface à tester.

Cela semble exagéré, mais si vous devez simuler \ vérifier les interactions entre votre classe testable et Image, c’est le moyen de le faire. Sinon, vous pouvez simplement transmettre à votre classe testable une instance réelle de Image, puis comparer cette instance à une sortie attendue [méthodologie de test unitaire standard]

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top