Chr*_*eek 1 c# unit-testing moq mocking
我如何用Moq嘲笑图像?
它没有构造函数(总是从工厂方法生成).
基本上我想做这样的事......
var image = new Mock<Image>();
image.Setup(i=>i.Save(someStream,ImageFormat.Jpeg);
var testableObject = new ObjectUnderTest(image.Object);
testableObject.MethodBeingTested();
image.VerifyAll();
Run Code Online (Sandbox Code Playgroud)
昨天回答了一个类似的问题,你可能希望看看这个线程嘲笑一个静态的Singleton.
如果绝对有必要模仿这种行为,那么被禁止的方法是生成一个暴露所需方法的接口,用一个具体的类[有效地包装Image类]为prod实现它,并模拟接口进行测试.
它确实听起来有点过分,但是如果你需要Mock \验证你的可测试类和Image之间的交互,那就是这样做的方法.或者,您可以将可测试类传递给Image的实际实例,然后将此实例与预期输出进行比较[标准单元测试方法]