2010-02-14 80 views
65

我想知道哪个单元测试框架是一个很好熟悉的单元测试框架?我知道这可能是一个意见问题,但我想我会问。我知道有一天我需要这样做,所以我不妨学会使用它。我知道那里有很多,但哪一个对C#开发有效?哪个单元测试框架?

this问题我可以看到单元测试是必要的,但是我个人并没有使用它。所以我就问这个问题。

+0

这确实是一个糟糕的问题,应该以S&A结束。除了“嘿,我使用xyz,它真的很酷”之外,它也没有包含任何好的答案,也不是任何寻找比较当前框架的人的宝贵资源。 – 2010-05-07 06:35:19

+0

http://stackoverflow.com/questions/261139/nunit-vs-mbunit-vs-mstest-vs-xunit-net – nawfal 2014-07-23 15:16:34

+0

我发现这是与我谈论这个网站的人的主要问题之一。你有严格的关于提问被问题巨魔轰炸的规则,人们只是想问一个诚实的问题并得到一个很好的答案。如果你要策划每个问题,也许应该反馈一些不好的答案,让人们以他们想要的方式全面地从这个网站社区学习。这不是第一次,人们在这里提出问题的次数不能那么小。因此,制定一个更好的方法来解决这个问题,然后禁止人们在6个月内提问。 – Rob 2017-05-20 00:47:39

回答

48

就个人而言,我更喜欢在Visual Studio单元测试框架,主要有两个原因:

  • 它无缝地与IDE集成;
  • 这是在开发环境中部署的少一个程序。

话虽如此,几乎任何单元测试框架都可以做到这一点,重要的是要做测试!

+10

这个缺点是:你的TFS也需要一个VS许可证,如果你想(你这样做!)持续集成构建运行测试。对于更大的商店或合作伙伴来说,这可能不成问题,但至少还有一件事需要考虑。 – mbx 2014-10-22 16:19:43

+5

NUnit现在支持与IDE无缝集成,不需要任何部署(如果使用NuGet)。 – 2015-08-25 14:27:35

+1

@mbx - TFS构建代理不需要VS许可证。 – Spivonious 2015-11-13 15:09:16

32

不要停留在选择框架。只需选择一个并开始测试 - 它们并不完全相同。当你写了一段时间的测试后,你会知道要找什么,以满足你的需求。

就我个人而言,我发现xUnitTestdriven.NetMoq是一套非常灵活的测试工具。

也看到这个帖子:NUnit vs. MbUnit vs. MSTest vs. xUnit.net

+1

+1起订量!爱那个框架。 – TrueWill 2010-02-14 20:47:57

0

有用于测试的几个原因,因此一些测试环境。另外,还有一些测试级别,比如简单,存根和模拟。例如,你可以测试行为而不是状态。

就功能而言,我通常使用在setup中构建的Visual Studio,添加对NUnit dll的引用,并将c#注释更改为NUnit。这是因为我喜欢在Visual Studio之外进行测试,特别是当它涉及到我的团队中的其他人时(我们还没有购买VS的团队版)。

2

我使用NUnit作为测试框架,使用ReSharper将它集成到VS(以及ReSharper的其他所有功能)中。

+1

反射器或ReSharper? – TrueWill 2010-02-14 20:48:19

+1

哎呀。 ReSharper的。修正了,谢谢。 – 2010-02-15 09:23:15

1

使用MbUnit(带有Gallio),NUnit,MsTest或xUnit。你可以组合几个单元测试。我使用NUnit进行TDD

+0

这不适用于VS2015 – sweetfa 2016-09-16 21:43:24

5

我决定坚持使用NUnit,因为ReSharper提供原生IDE支持(这可以节省大量时间)。 TeamCity也支持它运行和报告自动化测试。