zoukankan      html  css  js  c++  java
  • Visual Studio Unit Test VS NUnit

    公司里用的是NUnit,但是用起来并不觉得好用,因为发现VS的测试代码可以自动生成的。于是大致比较了一下Visual Studio里自带的Unit TestNUnit的区别。

    stackoverflow上有人讨论过这个问题。下面的条目都是摘自各个网页。做个汇总,方便大家参考。 

    最表面上来看,用的类库不同,这个问题很好通过一个宏来解决。

    #if !NUNIT

         using Microsoft.VisualStudio.TestTools.UnitTesting;

     #else

         using NUnit.Framework;

         using TestClass = NUnit.Framework.TestFixtureAttribute;

         using TestMethod = NUnit.Framework.TestAttribute;

         using TestInitialize = NUnit.Framework.SetUpAttribute;

         using TestCleanup = NUnit.Framework.TearDownAttribute;

         using TestContext = System.String;

         using DeploymentItem = NUnit.Framework.DescriptionAttribute;

     #endif

    NUnit有这样几个优点

    1.       独立于IDE,可以单独运行。也可以以命令行方式运行。(vs应该也可以吧?)

    2.       版本更新快。(我不认为这是个优点,而且我也并不觉得快啊。)

    3.       VSUT工具运行速度慢。(不一定)

    NUite也有这样几个缺点

    1.       不支持Debug,要安装TestDriven.NET才支持。

    2.       不支持代码覆盖率的查看,要和NCover一起用。而VS的代码覆盖很清楚。

    3.       不能自动生成测试代码,也许和CodeSmith一起用好些,不过后着要收费的。

     

    补充一点:NCover生成的XML太大了,动不动IE就Crash了,(用NCoverExplorer更好,不过公司没有……)。今天找了半天,都没有找到办法让NCover只生成特定Namespace的数据的命令行参数。最后改了xsl,不显示Method级的XML,好了些。

    VS UT最大的缺点——价格!只有VS Pro才支持UT,只有VSTS才支持代码覆盖。

    还有人认为VSUT比较难以与CC.NET集成。虽然没有去试着在CC中直接使用VSUT,但是感觉应该是可以的。

    再来看一下VS的价格。

    With Premium MSDN

    With Professional MSDN

    Without MSDN

    VS 2008 Team System

    $10939

    VS 2008 Professional

    $2499

    $1199

    $799

    VS 2008 Standard

    $299

    最新报价请参考:http://msdn.microsoft.com/en-us/aa700832.aspx

      

    另外,ReSharper30天试用)、xUnit(开源)、MbUnit也都是UT的不错选择。

    参考:http://stackoverflow.com/questions/92869/nunit-vs-visual-studio-2008s-test-projects-for-unit-testing

    http://stackoverflow.com/questions/709/net-testing-framework-advice

    http://stackoverflow.com/questions/1760/net-unit-testing-packages

  • 相关阅读:
    mysql索引
    struts升级2.3.12到2.5.13
    springboot使用servlet
    springboot拦截器
    开发复制内容
    Linux常用命令
    Eclipse中文语言包安装和设置中文
    eclipse编写代码所遇到的问题
    permission denied (publickey)问题的解决和向github添加ssh key
    工具
  • 原文地址:https://www.cnblogs.com/nankezhishi/p/1397480.html
Copyright © 2011-2022 走看看