VS2008 Professional版本已经集成单元测试的功能,我们可以很方便地对我们的代码进行单元测试。
新建一个单元测试工程:
添加对要测试的工程的引用,之后就可以针对被测试工程进行测试代码的编写了。
单元测试工程会默认生成一个单元测试类,其中属性TestClass标识这个类为单元测试类 。
2 public class UnitTest1
3 {
4
5 }
(1) 单元测试方法
单元测试方法用属性TestMethod标识,是针对每个测试用例编写的测试方法。单元测试还有一些常用的属性标签:Ignore标签表示单元测试运行时忽略当前方法,当单元测试方法未完成时,可添加此标签,暂时不运行当前方法;Description标签为当前测试方法添加说明。
2 public void TestMethod1
3 {
4
5 }
(2) 系统方法
单元测试运行时,用户可能需要统一初始一些变量或者测试结束统一释放占用资源,而不必在每个测试方法中初始化和资源回收。vs单元测试中提供了这样的属性
签。
1. ClassInitialize
如果方法标识了这个属性。则这个方法在整个测试class运行开始时候运行。可以在这个方法中添加所有测试方法都需要初始化的初始化代码。
TestContext中包含了单元测试的基本信息。
2 public static void MyClassInitialize(TestContext testContext){ }
3. TestInitialize
2 public static void MyClassCleanup(){ }
2 public void MyTestInitialize() { }
2 public void MyTestCleanup() { }
会得到如下的测试运行结果。
红色部分为未通过的测试代码。
一般的单元测试要求一定的代码覆盖率,可以用如下的方式查看测试代码的覆盖率:
(1) 新建单元测试工程时,会自动在项目中生成如下的文件
双击这个文件,会弹出如下的对话框
选择Code Coverage,选中要查看覆盖率的工程,然后关闭对话框。
(2) 运行测试工程,查看覆盖率。
点击运行结果窗口上的覆盖率查看按钮,可以查看针对每个方法的覆盖率。
Vs2008集成的单元测试工具使用非常方便,是我们软件开发中不可或缺的工具之一,熟练运用能极大地提高我们软件开发的质量。
一个单元测试类中包含有如下的内容: