任何人都可以向我解释如何验证嘲笑,如果你没有他们的Moq包装? MockFactory.Verify()
不会。我希望能够明确验证嘲笑,并应该使用mockfactory创建嘲笑!请发送您的意见。如果你没有Moq包装,你可以验证一个模拟对象吗?
2
A
回答
4
如果您使用工厂创建您的模拟,并不意味着您必须使用它来验证它们。有时候我只用工厂设置MockBehavior
在一个地方为我所有的嘲笑。但我仍然单独验证我的一些模拟。
var factory = new MockFactory(MockBehavior.Strict);
var fooMock = factory.Create<IFoo>();
fooMock.Setup(foo => foo.Bar());
fooMock.Verify(foo => foo.Bar, Times.Once());
更新 在情况下,如果你只有在您的测试方法嘲笑的对象,就可以得到模拟包装背面是这样的:
IFoo foo = fooMock.Object;
//...
var fooMockAgain = Mock.Get(foo);
+0
其实我有一个类,其中函数被写入使用mockfactory创建所需的模拟以及设置。这些函数只返回真实的对象,即mockedthing.object 因此,在主函数中,我只是调用这些函数来创建虚拟对象。所以在这里我似乎只能使用mockfactory进行验证。我想知道是否有其他方法。 – 2009-11-26 04:09:14
+0
我更新了答案。 – 2009-11-26 06:25:11
相关问题
- 1. 你可以模拟一个实现接口和抽象类的对象吗?
- 2. 你如何使用Moq模拟会话对象集合
- 3. 你会打扰模拟StreamReader对象吗?
- 4. Java - 你可以有多少个对象?
- 5. Java - 你可以将一个对象转换成它没有扩展的类吗?
- 6. Javascript - 你可以重用Date()对象吗?
- 7. 你可以在一台虚拟服务器上安装docker吗?
- 8. Rails的:“你有一个零对象时,你没想到吧”
- 9. 你可以在IronPython中设计一个.NET对象吗?
- 10. 你可以添加一个对象到C#监视器吗?
- 11. 你可以通过两层组件访问一个对象吗?
- 12. 你可以迭代一个雄辩的对象的属性吗?
- 13. 你可以将一个jaxb对象转换为org.w3c.dom.Element吗?
- 14. JMock模拟对象可以返回另一个模拟对象吗?
- 15. 你可以创建一个没有值的会话变量吗?
- 16. Java模板包装类,让你修改对象一次
- 17. javascript/jquery有一个你可以创建的事件模型吗?
- 18. 当你没有想到它时,你有一个零对象!你可能会认为阵列
- 19. 你可以在PHP中克隆一个对象的父对象吗?
- 20. 你可以有多个domready事件吗?
- 21. 你可以创建一个ITracingService吗?
- 22. 你可以使用cocoapods安装GeoFire吗?
- 23. 你可以投一个对象来拥有特定的功能吗?
- 24. SPF问题你没有完全验证
- 25. 你可以在xsl模板中调用一个模板吗?
- 26. 重置Moq中的模拟验证?
- 27. RoR碰撞保存“你有一个零对象,你没有想到它”
- 28. Ruby DSL:你可以通过一个块到一个对象
- 29. 你可以添加一个文本视图到一个操作栏吗?如果没有,一个子操作栏?
- 30. 你可以遍历Java中特定类的每个对象吗?
给你想要的关键步骤,一个小样本做。他们会严格吗? “不会做”是什么意思?为什么它不够?或者它不适合你?是否VerifyAll有更多使用? – 2009-11-24 13:34:55
当使用MocksFactory实现模拟时,我已经实现了其中的一部分,以便可选地使用布尔参数来指定是否将验证添加到某些方法的设置中,这会在调用mockFactory.Verify()时导致验证发生。我认为,如果我们在单元测试中直接在模拟对象上使用验证方法,而不是使用mockFactory,那么阅读单元测试更容易理解。我想知道如何做到这一点?任何帮助? – 2009-11-25 04:19:18