是否可以跟踪对Moq嘲笑的召唤?

时间:2011-07-27 13:54:57

标签: proxy mocking moq

我遇到的情况是我需要模拟第三方接口并调用与我的被测组件交互的第三方扩展方法。我很难弄清楚我需要在模拟界面上验证究竟是什么,我想知道是否有可能跟踪Moq记录的任何交互,这样我就可以看到实际发生了什么。从那以后,我希望能够编写一个有意义的期望。我没有看到任何证据证明这可以在API文档中完成,但似乎技术已存在,并且可能暴露在某些我未找到的地方。

谢谢!

1 个答案:

答案 0 :(得分:0)

我不相信Moq会提供这种“播放”类型的功能。

但是,我想到了几种确定呼叫模式的技术:

  • 您可以使用非常简单的对象实现接口,然后启动调试器并放置所有已实现的方法和属性的断点。这应该使您能够绘制出被调用的内容以及具有什么值。

  • 您可以创建模拟并使用MockBehavior.Strict进行设置。这样做的结果是Mock将在调用任何属性或方法时抛出异常(只要没有预期设置)。您可以逐个捕捉这些异常并定义期望,并慢慢建立一个所谓的内容的图片。

我承认,这两种情况都不理想。

既然如此,您是否考虑过这是否是模拟功能的最佳位置?您是否可以引入一个隐藏所有第三方功能的抽象层,然后嘲笑它?