技术开发 频道

使用VS Team Edition进行单元测试

  【IT168 专稿】Microsoft Visual Studio Team System集成了多种功能,这些功能用于创建高质量代码。其中一项功能用于实现单元编码测试。执行单元测试能够实现测试驱动开发,另一项有用的功能是测试私有方法。在本文中,首先从测试驱动开发技术开始讲解,因为这是敏捷开发人员所提倡的重点。

下一篇:VS Team Edition在其它单元中的测试 

  ·测试驱动开发

  在编写测试代码之前,需要进行单元测试。为此首先必须创建测试项目,然后才能生成测试。为此创建一个空白Visual Studio解决方案,然后添加C#测试项目。项目默认引用Microsoft.VisualStudio.QualityTools.UnitTestFramework程序集,以及包含单元测试的C#文件。单元测试方法和单元测试类使用[TestMethod]和[TestClass]声明,以通知Visual Studio测试框架:它们是测试的方法和类。代码如下所示:

using Microsoft.VisualStudio.TestTools.UnitTesting;
[TestClass]
public class UnitTests
{
    [TestMethod]
    
public void TestMethod1()
    {
        
// TODO: 添加测试逻辑
    }
}

 
  假设正准备开发一个需要测试的计算器类,那么首先按照自定义规则在测试方法中调用计算器方法的代码(名称改为AddTest),代码修改如下:
 
[TestClass]
public class UnitTests
{
     [TestMethod]
    
public void AddTest ()
    {
        
int x = 1; int y = 2;
        
int expected = 3;
        
int actual = MyUtils.Calc.Add(x,y);
        Assert.AreEqual
<int>(expected, actual);
    }
}

  Assert类有一个方法,用于指定某个条件为“是”或“否”。在这种情况下,需要指定与实际结果相等的预期结果。尝试编译该测试会失败,因为还没有编写Calc类。下面必须编写充足的代码才能通过测试。换言之,需要在同一个解决方案中创建一个类库项目,实现Calc类,并从测试项目中引用该类库项目。创建Calc类之后就可以使用从单元测试生成方法说明的功能。即将鼠标在调用Add方法上悬停片刻,就会出现“Generate Method Stub For Add-in MyUtils.Calc”,如图1所示:

0
相关文章