Gre*_*reg 9 c# nunit unit-testing visual-studio-2008
问题 - 如果我使用Visual Studio 2008在C#中启动Windows窗体应用程序,我应该使用哪个单元测试框架?
VS2008似乎有一个版本?或者我应该看看像NUnit这样的东西?或者是NUnit在发动机罩下的VS2008中使用了什么?什么是最受欢迎的.
拥有允许以下内容的东西会很好:(a)模拟/存根,以及(b)断言异常的能力
谢谢
我建议您使用NUnit作为测试框架.如果你需要在构建服务器上设置它,它非常轻巧,易于出货.使用MSTest不是这种情况.至于模拟/隔离框架,Rhino Mocks拥有最大的用户群,你可能会最快地找到Rhino Mocks的问题答案.
如果它只是一个简单的应用程序,VS2008中内置的MSTest框架应勾选所有框.它与NUnit不同,虽然很多人(错误地)将它称为它们是同一个东西.
我从来没有用它来嘲笑,所以也许其他人可以详细说明.它在您的解决方案中生成一个单独的项目,仅用于测试目的.这是如何使用它的一个很好的解释.

编辑: 进行更多挖掘,我遇到了MSTest和NUnit的比较.
NUnit框架的缺点:
这是我链接的比较文章.
我从来没有使用过NUnit,只有MSTest用于C#和JUnit用于Java,所以我在这方面有点偏颇.对于WinForms来说,MSTest一直非常适合我,它的功能包括能够单独运行测试,显示非常详细的报告(使用单独的跟踪日志)并自动生成所有样板测试代码并执行所有使VS2008成为这样的事情一个出色的IDE.通过它的声音,NUnit对其他人来说效果很好,他们有理由为什么喜欢它.
除非你有特别的理由采取NUnit/Testdriven.NET方法,就像你需要一个特定功能,或者你只是喜欢设置测试并试图将它集成回VS的方式,那么我没有看到任何理由不要只使用开箱即用的MSTest.
我们从MSTest开始.它具有(轻度)难以在NUnit中复制的优点.它允许您访问该类的私有成员.当您检查状态时,这是非常宝贵的.例如,假设我有一个函数将条目放入未公开的字典中.我的理解是,对于NUnit,你必须使用反射来获取字典,或者为了测试而添加一个getter.在这里,您可以查看字典.非常简单,非常干净.它还允许您测试我喜欢的私人功能(我知道有些人不相信这一点).虽然我不喜欢MSTest,但该功能使测试变得更加容易.
VS集成也很不错.
| 归档时间: |
|
| 查看次数: |
1034 次 |
| 最近记录: |