如何在c#中模拟第三方程序集(XNA / MonoGame)

时间:2014-01-08 23:36:14

标签: xna mocking tdd monogame

所以,我已经开始玩MonoGame了,我注意到的一件事就是很难对它进行单元测试。

可能在微软假货中使用类似垫片的东西,但正如这篇博客指出http://blog.pluralsight.com/vs11-fakes-framework,它并不是真正的TDD方式。

我还可以使用像Duck Typing这样的东西,它非常适合静态方法,但是有一些巨大的静态方法......

我可以为所有东西编写适配器,而且我目前正在这样做但是我花了很多时间编写适配器并且很少编写实际代码,这很令人沮丧。

我能想到的最终选项是生成适配器,这似乎是一个合理的想法,除了我找不到任何工具来做它,我的意思是我很开心写一些能做到这一点,但似乎就像其中一个可能已经以更好的方式解决的问题一样。

有人有什么想法吗?

1 个答案:

答案 0 :(得分:0)

一般建议是“不要模拟你不拥有的东西”并编写可以模拟的适配器,以便对代码进行单元测试,并对适配器和第三方代码进行一些集成测试。通常,您尝试尽可能保持适配器的容量,但是如果您的代码依赖于第三方代码中的许多入口点,强制您编写许多适配器,那么查找代码所依赖的中间抽象可能是值得的。 on,可以通过一些有点“更厚”的适配器实现,即与第三方代码不是1:1,但提供一些更高级别的功能。