首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >2013年MSTest对nUnit对xUnit

2013年MSTest对nUnit对xUnit
EN

Stack Overflow用户
提问于 2016-06-27 21:59:59
回答 4查看 14.4K关注 0票数 16

我意识到有很多关于这个话题的问题,但不知怎么的,我没有找到一个能满足我的需求。

我的团队正在寻找开始自动单元测试我们的应用程序。我们从来没有这样做过,而且球队中没有人对此有丰富的经验。我被要求研究和找到一个框架来自动化我们的单元测试。到目前为止,我已经把选择范围缩小到了MSTest、NUnit和xUnit

在互联网上,我看到了关于MSTest的负面评论,但对我们来说,这似乎是最方便的工具。

1)我们的应用程序是.NET

2)我们在整个团队的开发中使用了许可的VS IDE。

3)源代码管理是2010

4)我们计划将CI/CD集成作为软件交付过程的一部分。

我觉得MSTest集成到这个设置中,并为我们提供了最干净的界面。与我们应该考虑的NUnitxUnit相比MSTest是否有显著的优势?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-06-27 23:44:56

我有偏见,因为我在NUnit上工作,但NUnit或xUnit的优点是,这两个框架都提供了更多的功能,比如数据驱动测试、并行执行和许多高级特性。

尽管如此,MSTest并没有什么问题,特别是如果您的团队在单元测试方面缺乏经验的话。它与Visual和TFS很好地集成在一起,所以添加测试是相当无痛的。NUnit和xUnit都集成得很好,但它们可能需要更多的设置。

继续,从MSTest开始。这是一个简单的单元测试入门。如果您开始遇到MSTest的一些限制,那么向NUnit或xUnit的迁移是相当容易的。对于简单的情况,只需更改NuGet包,然后查找/替换属性即可。

当谈到在xUnit和NUnit之间进行选择时,两者都是很好的选择,但每一个都有不同的哲学。NUnit倾向于更灵活,允许一系列测试样式,并且可以用于集成测试。然而,它是足够灵活的,允许你射击自己的脚,并允许你写的纯粹主义者会皱眉的测试。NUnit把选择留给你。

然而,xUnit倾向于更加固执己见,并通过单元测试将您推向“成功的深渊”。在我的经验中,它对于绿色领域项目是很好的,但是它可以使一些架构较差的褐色字段项目在不进行重构的情况下很难进行测试。

最后,这些测试框架都不会出错。

票数 31
EN

Stack Overflow用户

发布于 2016-11-07 17:27:39

我想补充一下XUnit的一个负面方面。它甚至没有基本的文档,除了“开始”之外,什么都没有。没有API什么都没有。

票数 11
EN

Stack Overflow用户

发布于 2017-06-06 09:58:05

以下是对这三个框架的简要分析,并按颜色排列。

色彩传奇:

MSTest它之所以好,只是因为它很简单,并且集成到Visual中,而且它来自微软。它不够灵活,也不能很好地扩展。但不仅仅是一个单元测试框架,它还支持集成测试、Web (load)性能测试。另外两个是纯单元测试框架。所以我会说MSTest是“全行业的杰克,没有人的主人”。

NUnit是我的选择,因为它一直以来都是最好的。它更灵活和简单,有很好的用户基础,文档和社区支持。

XUnit是我最不喜欢的,因为它的风格略有不同,我个人认为它并不比NUnit更有优势。在某些情况下,您需要对代码进行一些重构,以适应测试用例。但这只是我的观点,因为有很多人更喜欢XUnit。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38063903

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档