NUnit vs Visual Studio 2008的单元测试测试项目?

我将在工作中启动一个新项目,并希望进入单元测试。 我们将使用VS 2008,C#和ASP.NET MVC的东西。 我正在考虑使用NUnit或VS2008内置的测试项目,但我愿意研究其他建议。 一个系统比另一个系统更好,或者比另一个更容易使用/理解? 我期待这个项目能够成为我们未来发展努力的“最佳实践”。

感谢您的任何帮助和建议!


道命名所有的VS2008测试项目的亲,这里是NUnit的亲。

  • NUnit有一个模拟框架。
  • NUnit可以在IDE之外运行,如果您想在CC.Net等非MS构建服务器上运行测试,这可能很有用
  • NUnit比Visual Studio有更多的版本。 您不必等待几年才能获得新版本而且您无需安装新版本的IDE即可获得新功能。
  • 有一些扩展正在为NUnit开发,比如行测试等。
  • 出于某种原因,Visual Studio测试需要很长时间才能启动。 这在2008年更好,但对我的口味来说仍然太慢。 快速进行测试,看看你是否没有损坏某件东西可能需要很长时间。 用类似Testdriven.Net的东西来运行IDE测试的NUnit实际上要快得多。 特别是在运行单个测试时。
    对于Kjetil Klaussen来说,这是由Visual Studio testrunner引起的,在TestDriven.Net中运行MSTest测试使得MSTest的性能可以与NUnit相媲美。

  • 单元测试框架实际上并不重要,因为您可以将测试类转换为单独的项目文件和条件编译(如VS-> NUnit):

     #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
    

    TestDriven.Net插件很不错,而且不是很贵...只需要简单的VS2008,你必须从测试类或测试列表中找到测试。 通过TestDriven.Net,您可以直接从您正在测试的课程中运行测试。 毕竟,单元测试应该易于维护,并且靠近开发人员。


    VS2008内置单元测试框架的优点/变化

  • 现在2008版本可以用专业版本(在它需要昂贵的VS版本之前,这仅仅用于开发者单元测试),这让许多开发人员只能选择开放/外部测试框架。
  • 内置API,由单个公司支持。
  • 使用相同的工具来运行和创建测试(您也可以使用MSTest命令行来运行它们)
  • 简单的设计(不授予Mock框架,但这对许多程序员来说是一个很好的起点)
  • 长期支持(我仍然记得nDoc发生了什么,我不想承诺5年内可能不支持的测试框架,但我仍然认为nUnit是一个很好的框架。)
  • 如果使用团队基础服务器作为后端,可以用简单的方式创建工作项目或包含失败测试数据的错误。
  • 链接地址: http://www.djcxy.com/p/28029.html

    上一篇: NUnit vs Visual Studio 2008's Test Projects for Unit Testing?

    下一篇: How to mock Controller.User using moq