单元测试- Visual Studio 2013 MSTest vs NUnit



我公司正在将Visual Studio 2012升级到2013 Premium。在此过程中,我们也希望开始使用Visual Studio Team Services自动化我们的测试

我在过去读过一些MSTest vs nUnit的帖子和文章,但大多数都比较了旧版本的MSTest。此外,与MSTest相比,nUnit获得了许多好评。

我的问题是,考虑到微软对ALM、敏捷实践的承诺,以及他们在VS2013 Premium和Visual Studio Team Services中添加的所有新东西,以促进和鼓励自动化测试,MSTest与nUnit相比如何?

在决定使用测试框架之前,我还应该考虑什么?

MSTest自最初引入以来没有太大变化,因此那些旧的比较帖子仍然有效。微软对ALM的关注主要是针对进一步的工具和服务器产品,但是基本的测试框架并没有太大的变化。

值得注意的是,MSTest和他们的整个ALM策略针对许多不同风格的自动化测试,包括集成测试、系统测试、性能测试等,所以当它试图成为一个通用的方法时,它非常不适合单元测试,因为它太重了,无法使用。

虽然NUnit更好,但我也不推荐它。它多年来也没有太大变化,坦率地说,可扩展性模型是一团糟。

相反,我推荐xUnit.net。虽然它也不完美,但它是目前。net上最好的主流选择。xUnit.net优于MSTest的原因有很多

MSTest Vs NUnit:

  1. MSTest与VS集成,所以它将很容易使用。NUnit将需要第三方工具(有些是免费的,有些是付费的)。
  2. VS将在MSTest中提供代码覆盖率。NUnit需要DotCover(这是一个付费工具)。
  3. MSTest有一个选项,如果测试不相互依赖,可以并行执行测试。这不是NUnit提供的功能。
  4. NUNit有TestCaseSourceAttribute,可以帮助您实现参数化测试用例,但在MSTest中,您需要DataSourceAttribute,这将是XML文件,当您在方法中具有复杂的逻辑时,将难以管理。
  5. NUnit比mest更快。

总的来说,这两个框架都很好用,但我建议使用NUnit。

最新更新