我的公司正在将Visual Studio 2012升级到2013 Premium。在此过程中,我们还希望使用Visual Studio Team Services
开始自动化测试过去,我已经阅读了几篇MSTest vs nUnit的文章和文章,但是大多数文章都比较了旧版本的MSTest。而且,与MSTest相比,nUnit具有很多有利的评价。
[我的问题是,考虑到Microsoft对ALM的承诺,敏捷实践以及他们为VS2013 Premium和Visual Studio Team Services添加的所有新内容,以促进和鼓励自动化测试,MSTest与nUnit相比如何?
在决定要使用的测试框架之前,我还应考虑哪些其他因素?
MSTest自最初引入以来并没有太大变化,因此那些旧的比较文章仍然有效。微软对ALM的关注主要是针对进一步的工具和服务器产品,但是基本的测试框架并没有太大变化。
还值得注意的是,MSTest及其整个ALM策略针对许多不同类型的自动化测试,包括集成测试,系统测试,性能测试等,因此,尽管它试图成为一种万能的,它非常不适合单元测试,因为它太重了,无法使用。
虽然NUnit更好,但我也不推荐。多年来,它也没有太大变化,坦率地说,可扩展性模型一团糟。
相反,我建议xUnit.net。尽管它也不完美,但它是当前.NET上最好的主流替代方案。 xUnit.net is better than MSTest的原因很多。
MSTest与NUnit:
TestCaseSourceAttribute
,可帮助您实现参数化的测试用例,但在MSTest中,您将需要DataSourceAttribute
,该文件位于XML文件中,并且当方法中具有复杂的逻辑时将很难管理。两个框架都很好用,但我建议您使用NUnit。