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

来源:互联网 发布:小蚊子数据分析博客 编辑:程序博客网 时间:2024/05/21 11:02

特此声明: 写文章不要给人留坑, 自己没验证过的东西不要抄过来发表.


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, 显示这个应该是被测试工程的, 不知道为什么会突然没有了。

不知道如何解决, 只能 删除 测试工程, 重新创建一个。




0 0
原创粉丝点击