Nak*_*kla 12 nunit automated-tests unit-testing mstest xunit
我意识到有很多关于这个主题的问题,但不知怎的,我找不到满足我需求的问题.
我的团队正在寻求自动化单元测试我们的应用程序.我们以前从未这样做过,团队中的任何人都没有多少经验.我被要求研究并找到一个自动化单元测试的框架.到目前为止,我已将选择范围缩小到MSTest,NUnit和xUnit.
在整个互联网上,我阅读了关于MSTest的负面评论,但对我来说这似乎是最方便的工具.
1)我们的应用程序是.NET
2)我们使用许可的VS IDE进行整个团队的开发.
3)源代码管理是Team Foundation Server 2010
4)我们计划将CI/CD集成为我们软件交付流程的一部分.
我觉得MSTest集成到这个设置中,为我们提供最干净的界面.NUnit或xUnit相对于MSTest是否有明显的优势我们应该考虑?
Rob*_*use 27
我有偏见是因为我在NUnit上工作,但NUnit或xUnit的优势在于两个框架都提供了更多功能,如数据驱动测试,并行执行和一系列高级功能.
也就是说,MSTest没有任何问题,特别是如果您的团队对单元测试不是很有经验.它与Visual Studio和TFS很好地集成,因此添加测试相当轻松.NUnit和xUnit都集成得很好,但它们可能需要更多设置.
继续,从MSTest开始.这是一个简单的单元测试介绍.如果您开始遇到MSTest的一些限制,那么它很容易迁移到NUnit或xUnit.对于简单的情况,只需更改NuGet包然后查找/替换属性即可.
在xUnit和NUnit之间进行选择时,两者都是很好的选择,但每种都有不同的理念.NUnit往往更灵活,允许一系列测试样式,可用于集成测试.然而,它足够灵活,允许你在脚下射击自己,并允许你编写纯粹主义者会皱眉的测试.NUnit为您提供了选择.
然而,xUnit倾向于更加自以为是,并且通过单元测试将您推向"成功的障碍".根据我的经验,它对于绿色领域的项目非常有用,但它可以在没有重构的情况下测试一些设计糟糕的棕色工程项目.
最后,您不会错过任何这些测试框架.
着色传说:
MSTest它之所以好只是因为它简单并且集成到 Visual Studio 中,而且它来自 Microsoft。它不够灵活,可扩展性也不是很好。但它不仅仅是一个单元测试框架,它还支持集成测试、Web(负载)性能测试。另外 2 个是纯单元测试框架。所以我想说 MSTest 是“万事通,万事通”。
NUnit是我的选择,因为它在足够长的时间内一直是最好的。它更加灵活和简单,具有非常好的用户基础、文档和社区支持。
XUnit是我最不选择的,因为它遵循稍微不同的风格,而且我个人认为它比 NUnit 没有太多优势。在某些情况下,您需要对代码进行一些重构以适应测试用例。但这只是我的观点,因为有很多人更喜欢 XUnit。
| 归档时间: |
|
| 查看次数: |
12508 次 |
| 最近记录: |