确保你的Visual Studio中安装了Team Tester组件(可选)
安装后会在Visual Studio的菜单中多出一个“测试”
新建一个C#类库项目作为demo,完成一个加法运算
using
System;
using System.Collections.Generic;
using System.Text;
namespace ClassLibrary1
{
public class Class1
{
public int mySum( int a, int b)
{
return a + b;
}
}
}
using System.Collections.Generic;
using System.Text;
namespace ClassLibrary1
{
public class Class1
{
public int mySum( int a, int b)
{
return a + b;
}
}
}
单元测试:在方法名mySum上单击右键,在菜单中选择“创建单元测试”,或者在Visual Studio的菜单中选择“测试”--“新建测试”。
可自动创建一个测试项目,其中包含有对应的类和方法,解决方法如
自动生成的测试代码如下
Code
// 以下代码由 Microsoft Visual Studio 2005 生成。
// 测试所有者应该检查每个测试的有效性。
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using System.Text;
using System.Collections.Generic;
using ClassLibrary1;
namespace TestProject1
{
/**//// <summary>
///这是 ClassLibrary1.Class1 的测试类,旨在
///包含所有 ClassLibrary1.Class1 单元测试
///</summary>
[TestClass()]
public class Class1Test
{
private TestContext testContextInstance;
/**//// <summary>
///获取或设置测试上下文,上下文提供
///有关当前测试运行及其功能的信息。
///</summary>
public TestContext TestContext
{
get
{
return testContextInstance;
}
set
{
testContextInstance = value;
}
}
附加测试属性#region 附加测试属性
//
//编写测试时,可使用以下附加属性:
//
//使用 ClassInitialize 在运行类中的第一个测试前先运行代码
//
//[ClassInitialize()]
//public static void MyClassInitialize(TestContext testContext)
//{
//}
//
//使用 ClassCleanup 在运行完类中的所有测试后再运行代码
//
//[ClassCleanup()]
//public static void MyClassCleanup()
//{
//}
//
//使用 TestInitialize 在运行每个测试前先运行代码
//
//[TestInitialize()]
//public void MyTestInitialize()
//{
//}
//
//使用 TestCleanup 在运行完每个测试后运行代码
//
//[TestCleanup()]
//public void MyTestCleanup()
//{
//}
//
#endregion
/**//// <summary>
///mySum (int, int) 的测试
///</summary>
[TestMethod()]
public void mySumTest()
{
Class1 target = new Class1();
int a = 0; // TODO: 初始化为适当的值
int b = 0; // TODO: 初始化为适当的值
int expected = 0;
int actual;
actual = target.mySum(a, b);
Assert.AreEqual(expected, actual);
}
}
}
// 以下代码由 Microsoft Visual Studio 2005 生成。
// 测试所有者应该检查每个测试的有效性。
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using System.Text;
using System.Collections.Generic;
using ClassLibrary1;
namespace TestProject1
{
/**//// <summary>
///这是 ClassLibrary1.Class1 的测试类,旨在
///包含所有 ClassLibrary1.Class1 单元测试
///</summary>
[TestClass()]
public class Class1Test
{
private TestContext testContextInstance;
/**//// <summary>
///获取或设置测试上下文,上下文提供
///有关当前测试运行及其功能的信息。
///</summary>
public TestContext TestContext
{
get
{
return testContextInstance;
}
set
{
testContextInstance = value;
}
}
附加测试属性#region 附加测试属性
//
//编写测试时,可使用以下附加属性:
//
//使用 ClassInitialize 在运行类中的第一个测试前先运行代码
//
//[ClassInitialize()]
//public static void MyClassInitialize(TestContext testContext)
//{
//}
//
//使用 ClassCleanup 在运行完类中的所有测试后再运行代码
//
//[ClassCleanup()]
//public static void MyClassCleanup()
//{
//}
//
//使用 TestInitialize 在运行每个测试前先运行代码
//
//[TestInitialize()]
//public void MyTestInitialize()
//{
//}
//
//使用 TestCleanup 在运行完每个测试后运行代码
//
//[TestCleanup()]
//public void MyTestCleanup()
//{
//}
//
#endregion
/**//// <summary>
///mySum (int, int) 的测试
///</summary>
[TestMethod()]
public void mySumTest()
{
Class1 target = new Class1();
int a = 0; // TODO: 初始化为适当的值
int b = 0; // TODO: 初始化为适当的值
int expected = 0;
int actual;
actual = target.mySum(a, b);
Assert.AreEqual(expected, actual);
}
}
}
更改初始值,运行测试。
选择“测试”--“窗口”--“测试管理器”,选择运行。
注:只有Visual Studio Team System版才有单元测试功能,各版本之间差异请参考:
Visual Studio 2005 产品线概述
Visual Studio 2005 Team System 版本比较