您的位置:首页 > 编程语言

VS2010 做单元测试,代码覆盖率

2014-08-01 12:43 239 查看
特此声明: 写文章不要给人留坑, 自己没验证过的东西不要抄过来发表.

Precodition:

VS2010

待测试工程 demo.dll ,被测试的工程是个dll,这个怎么写就不介绍了.

1. 在被测试工程的sln中,选择 [测试] 菜单, 选择 <新建测试> ----> <单元测试> , 确定.

确定后,会在 "解决方案资源管理器" 中生成 "Solution Items" 和 TestProject4, 第一次应该是 TestProject1, 这里p2plive 是被测试的DLL



2. 在TestProject4种 "引用" p2plive



3. include 被测试dll 的 head 文件.

属性 -----> 配置属性 -----> C/C++ ----->常规 -----> 附加包含目录 $(SolutionDir) 的相对路径

4. 编译测试工程 TestProject4

在测试文件中调用 被测试DLL的 API, 编译

出现各种错误提示,无法识别等.

选择 公共语言运行时支持(/clr) , 不能使用(/clr:safe)



5. 设置代码覆盖率

如图, 选择 数据和诊断, 双击 "代码覆盖率", 选择 p2plived.dll , "确定", 然后 "另存" , 覆盖.



在测试工程和被测试工程中 设置 /Profile, 否则无法生成 覆盖率 文件.



6 设置测试

"测试" -----> "选择活动的测试设置" -----> "Local testsetting"

"测试" -----> "窗口" -----> 测试列表编辑器



7. 运行

"测试" -----> "运行" -----> "解决方案中的所有方案"

8 察看代码覆盖率

"测试" -----> "窗口" -----> "代码覆盖率结果"

Q&A:

上述过程中有坑的地方基本上都提到了, 还有一处需要注意, 运行几次后,后提示 "无法link DefaultTest.dll, 显示这个应该是被测试工程的, 不知道为什么会突然没有了。

不知道如何解决, 只能 删除 测试工程, 重新创建一个。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: