Mocking System.Drawing.Image с Moq - PullRequest
       8

Mocking System.Drawing.Image с Moq

1 голос
/ 22 октября 2009

Как бы я пошутил над изображением с помощью Moq?

У него нет конструкторов (всегда генерируется из фабричных методов).

В основном я хочу сделать что-то вроде этого ...

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

testableObject.MethodBeingTested();

image.VerifyAll();

1 Ответ

5 голосов
/ 22 октября 2009

Ответил на аналогичный вопрос вчера, возможно, вы захотите взглянуть на эту тему по поводу насмешки над статическим синглтоном .

Если абсолютно необходимо издеваться над этим поведением, то запрещенный метод должен сгенерировать интерфейс, предоставляющий необходимые вам методы, реализовать его с помощью конкретного класса [эффективно упаковывающего класс изображений] для prod и Mock интерфейса для тестирования.

Это звучит излишне, но если вам нужно смоделировать \ проверить взаимодействие между вашим тестируемым классом и Image, это способ сделать это. Кроме того, вы можете просто передать вашему тестируемому классу фактический экземпляр Image, а затем сравнить этот экземпляр с ожидаемым результатом [стандартная методика модульного тестирования]

...