Unity Nunit&犀牛嘲笑

时间:2010-09-14 19:45:42

标签: nunit unity-container ioc-container rhino mocking

任何人都可以给我一个很好的例子,一起使用犀牛嘲讽,nunit和团结。我正在阅读每个方面的帮助,但似乎没有任何关于如何一起使用它们的好示例项目以及使用它们设置项目/测试项目的方法。即你在测试项目中创建了指向虚拟类的新ioc容器吗?然后犀牛在哪里进入它。

感谢您的帮助。

2 个答案:

答案 0 :(得分:5)

我将所有这三个框架一起使用。看起来你的问题是你想要一次学习太多东西。

至于在测试中使用IoC容器,我从来没有需要为单元测试执行此操作 - 我只是使用Rhino模拟根据需要传递依赖组件的存根/模拟。

对于集成测试,我可以看到在某些代码中初始化IOC容器的好处,例如,如果您使用MVP模式并希望用存根完全替换GUI。

我首先会更详细地了解单元测试。我强烈推荐这本书The Art of Unit Testing。一本结合了IOC,单元测试和隔离框架的好书,我发现是Pro ASP.NET MVC - 现在有一个2nd edition,但是由于我没有看过它,我无法真正评论它。本书不使用Unity,但如果您了解一个框架是如何工作的,那么很容易切换到使用另一个框架。当我从Moq搬到Rhino时,我找到了this wiki page particularly useful

答案 1 :(得分:1)

您不需要在单元测试中使用IoC。您应该测试接口的实现而不是接口本身。

示例:Person实现了IPerson。你应该有一个PersonTests类来测试Person。您可以使用Rhino Mocks创建IPerson的模拟或存根,并测试Person类的功能。

(至少,这是我一直这样做的方式)。

然后你有单独的测试来测试你的IoC(如果你需要)。