.NET平台下单元测试的工具使用

发表于:2009-12-21来源:作者:点击数: 标签:
.NET平台下单元测试的工具使用 单元测试工具 .NET平台下进行单元测试的两种工具:由KENT BECK 指导的NUnit和微软自身的MSTest。这两种工具各有优缺点。NUnit出现较早,支持的软件平台较多,但是不易于调试。是的,是的,我知道。你可以做一点点小的变动就可

  .NET平台下单元测试的工具使用   单元测试工具

        .NET平台下进行单元测试的两种工具:由KENT BECK 指导的NUnit和微软自身的MSTest。这两种工具各有优缺点。NUnit出现较早,支持的软件平台较多,但是不易于调试。是的,是的,我知道。你可以做一点点小的变动就可以改变这种情况,但是和MSTest比较起来,就差得远了。MSTest与VSNET的集成较好,调试应用都非常方便。但是支持的软件平台就差了许多。比如持续构建,比较典型的应用:CVS+CruiseControl.NET+NAnt(或者MsBuild)+NUnit+NConver+FxCop的组合。当然ThoughtWorks也发布了一个MsTest的试用版本,但是集成的并不紧密。虽然微软也提出了VSTS的集成应用,然而对中小型项目的应用,未免有点大马拉小车的应用了。事实上,说它是大马有点客气了。这个家伙对于硬件的要求我是真的不敢恭维。在软件开发的过程中,我们即需要MSTest的调试,又需要NUnit的持续集成功能,将两个工具有机的整合在一起是可能的。

  需要定义一个登陆系统的用户类。该为接口如下:

  根据测试驱动的原则,首先建立一个单元测试项目。

  为该项目添加对NUnit.Framework.dll的引用。新建单元测试类。考虑到NUnit与MSTest用于测试的属性标识并不相同,我们需要更改测试类命名空间的声明。

  命名空间声明

  using Microsoft.VisualStudio.TestTools.UnitTesting;

  #else

  using NUnit.Framework;

  using TestClass = NUnit.Framework.TestFixtureAttribute;

  using TestInitialize = NUnit.Framework.SetUpAttribute;

  using TestCleanup = NUnit.Framework.TearDownAttribute;

  using TestMethod = NUnit.Framework.TestAttribute;

  #endif

  这样,标识单元测试方法可以采用统一的属性了。

  UserTest

  [TestClass]

  public class UserTest

  {

  [TestMethod]

  public void LoginTest()

  {

  User user = User.Login("姜志辉","密码,哈哈");

  Assert.IsTrue(user!=null);

  }

  }

  

原文转自:http://www.ltesting.net