2010-08-19 106 views
2

我想找到关于mstest(VS 2008)和nunit(最新)的性能比较好的比较。比较表现Nunit与MsTest

我发现只有约特性,不是执行的时间例子文章:/

我会帮忙感谢

+0

为什么这么重要?只需使用最适合您的功能并具备您需要的所有功能 – 2010-08-19 08:01:47

+0

我想使用NUnit,但我的项目经理希望拥有数字:/ – user278618 2010-08-19 08:11:35

+3

除了新建的类和调用方法外,框架实际上都没有其他任何功能。正在测试的代码是需要花费时间的。但是,如果你真的需要这个号码。自动生成一组100个固定装置,每个测试都执行一组基本断言(1 == 1)。运行它们并计时。如果差异很大,我会感到震惊。 – ryber 2010-08-22 21:31:56

回答

0

测试运行实际上做了很多 - 它必须找到所有测试类,然后在调用它们之前识别所有的测试方法(可能通过反射,但可能不是)。它还必须汇总并报告结果。所有这些都可以是有效的或其他方式,因此可能会有明显的性能差异,尤其是在套件中有大量测试的情况下。

1

我有使用MSTest和NUnit的经验。根据我的经验,MSTest比NUnit慢得多。测试的实际执行可能几乎相同,但MSTest的设置和拆卸时间明显更多。

请注意,我已经通过集成的VS GUI运行了MSTest单元测试,这可能是为什么它很慢(与轻量级NUnit GUI相比)。显然你可以通过命令行运行MSTest,这可以改善安装和拆卸时间。

但还有其他的事情要考虑。 MSTest缺少一些NUnit所具有的功能,而NUnit的功能更为成熟。此外,使用NUnit的错误修复将比MSTest快得多(服务包的发布频率是多少?)。

另外NUnit没有Visual Studio的工作,这意味着你可以在服务器上运行这些测试,而不需要另一个VS许可证。我已经阅读了让MSTest在没有VS的情况下运行的方法,但是它涉及复制文件,这些文件可能违反许可条款,也可能不违反。