图解VS2008单元测试及查看代码覆盖率
2010-02-25 13:55 杨延成 阅读(8897) 评论(5) 编辑 收藏 举报VS2008本身集成有单元测试工具,我们可以拿来用一下,首先在创建测试的方法上右键,选择创建单元测试,如下图示:
在弹出的对话框中,选择要测试的方法,如下图示:
单击OK按钮,即可创建一个测试工程,工程创建好后,会看到如下代码:
/// <summary>
///A test for Add
///</summary>
[TestMethod()]
public void AddTest()
{
int n = 10; // TODO: Initialize to an appropriate value
int m = 0; // TODO: Initialize to an appropriate value
int expected = 0; // TODO: Initialize to an appropriate value
int actual;
actual = TestedClass.Add(n, m);
Assert.AreEqual(expected, actual);
Assert.Inconclusive("Verify the correctness of this test method.");
}
这里显示了测试的情况,还可以双击查看具体测试报告,并且可以将测试报告导出。
当然,如果我们还想再添加被测试的方法也很简单,如,我用下面这段代码增加了对Minus方法的测试
[TestMethod]
public void MinusTest()
{
int n = 10;
int m = 1;
int result = 10;
Assert.AreEqual(TestedClass.Minus(n, m), result);
}
现在可以直接点RUN运行了。
VSTS还提供了查看代码覆盖指标。
他包含了一个代码覆盖工具,可以详细解释被执行代码的覆盖率,并突出显示哪些代码被执行,哪些代码没有被执行。VSTS 在生成单元测试框架时,默认没有启用“代码覆盖”功能。
首先打开“本地测试运行配置文件” localtestrun.testrunconfig , 双击localtestrun.testrunconfig”文件,弹出该对话框窗口。
如下图示:
在其对话框窗口的左侧选择“代码覆盖率”,然后在右侧的“要检测的项目”中选择要检测的项目。
单击“apply”按钮。
在“代码覆盖率结果”窗口中可查看代码覆盖率。
在“代码覆盖率结果”窗口中,我们还可以查看单元测试中代码覆盖的块数,以及代码覆盖的百分比信息。如下图示:
VS2008的单元测试可以集成NUnit也可以使用他自带的,这个可以以自己的喜好来进行选择,我个人比较喜欢Nunit方式。
VS2008的本身单元测试不仅可以显示测试结果,还可以显示覆盖率等信息,操作比较方便。NUnit轻量,开源,与其它工具整合性好,易于实现自动化测试,要显示覆盖率还要集成NCover,我会在下篇文章进行介绍如何集成。