我想要在我的应用程序中添加一个测试套件,但是我不能使用较新的针对.NET 3.5的测试框架。
请问有什么好的测试框架建议可供使用吗?
这可能是已经提到的概要,但对于TDD,我个人使用Rhino Mocks和MBUnit。Rhino Mocks是一个免费且开源的模拟框架。Rhino Mocks的优点在于我们不需要像在NMock中设置期望那样使用魔法字符串。
我喜欢MBUnit,因为MbUnit有RowTests的概念,可以让您改变测试方法的输入。MBUnit也是免费提供的。
您还需要确保您选择的单元测试框架得到您的CI(持续集成服务器)的支持。Nunit在Cruise Control.NET中默认受支持,而您需要做一些额外的工作才能使MBUnit在ccnet中工作。
从IDE的角度来看,您必须拥有TestDriven.NET。TestDriven.NET允许您在IDE中右键单击并运行测试,并支持MBUnit和Nunit等其他框架。
NBehave是我使用过的BDD库。我没有使用任何其他库,所以无法与您进行比较和对比,但NBehave受到来自MBUnit团队的Gallio的支持,这意味着您可以像运行单元测试一样使用TestDriven.NET运行BDD测试。
我还强烈推荐Resharper。使用此重构和指导工具,您会发现生产力显著提高。它将在您开发测试时帮助您更改代码。
希望这可以帮到您。
我也很成功地使用了NUnit。
当需要模拟对象时,我也使用NMock。额外的好处是,用于创建模拟对象的工厂被称为Mockery。
为了方便运行单元测试,我使用TestDriven.NET在编码时运行单元测试。此外,我还使用Cruise Control .NET监视SVN,并检查每个新提交是否构建并通过所有单元测试。
我想给 Moq 喊个好。它是一个干净轻量级的模拟框架,能帮助你顺利完成测试。
内建于 TFS 的测试工具还不错,能完成任务,但使用起来通常有些繁琐。生成的报告、代码覆盖率和一些其他部分尤其糟糕。它们让你在 22 岁就秃顶,而不是在 50 岁。
如果你真的喜欢测试,请考虑尝试一些持续集成。你会很快感受到回归测试带来的痛苦,这种痛苦可能会帮助你更快地达到最终目标。
无论你做什么,请试用几个测试框架,并看看哪个最自然,如果有时间的话。祝好运,编码愉快。
NUnit 可在http://www.nunit.org获取。 即使在使用 MS 技术栈时,我也建议使用它。MVC 预览版中对非 MS 框架的支持正在发生,这显示了正确方向上的明确动向,以允许我们所有人自定义我们的技术栈以适应需求。