VS2017C++单元测试

0、欢迎食用

  • 希望对点进来的你有所帮助。
    全文记流水账,内心想法如示例项目名称。

1、建立需测试的项目

  • 新建项目
  • 正常书写.h 和.cpp文件


2、新建单元测试

  • 右击解决方案 -> 添加 -> 新建项目
    Visual C++ -> 测试 -> 本机单元测试项目
  • 点击确定出现

3、添加被测项目的引用

  • UnitTest1(个人单元测试项目名称,下同) -> 右击引用 -> 添加引用 -> 勾选被测项目

4、编写测试代码

  • 修改unittest1.cpp

5、运行测试

  • 测试 -> 运行 -> 所有测试

6、boom

  • 你以为这样就成功了?天真。

  • 解决

    • 右击UnitTest1 -> 属性
      链接器 -> 输入 -> 附加依赖项 -> 编辑
    • 添加附加依赖项
      • 注意添加的依赖项为被测试类的.obj,不知道的话可以自己翻一下目录。

7、运行结果

  • 终于成功了

8、再次boom

  • 就这样高枕无忧了?天真。
    在测试数独项目的时候,由于被测试的类引用了别的类,然后又boom。
  • 再次解决

    • 法一:根据报错信息添加对应依赖项
      • 右击UnitTest1 -> 属性
        链接器 -> 输入 -> 附加依赖项 -> 编辑
      • 嫌麻烦的话可以只在这里写xxx.obj,然后点击
        链接器 -> 常规 -> 附加库目录 -> 编辑
        选择xxx.obj对应目录即可
    • 法二:改添加静态库(如果有的话。添加之前最好都先翻一下目录看看有啥)
      • 右击UnitTest1 -> 属性
        链接器 -> 输入 -> 附加依赖项 -> 编辑

        注意这里的Debug和法一中的Debug不是同一个文件夹呀。

9、插播OpenCover插件配置

  • 乱七八糟找了好多都不知道用。github翻这里。看README里面最后也推荐NuGet,那个Alternatively还特意加粗了,果然好用。不听老人言,吃亏在眼前。血泪史啊。
  • 具体配置过程
    • 工具 -> NuGet包管理器 -> 程序包管理控制台
    • 这里的命令复制一下。
    • 对,就是那个橙色的复制按钮点击一下,然后在上面提到的程序包管理控制台粘贴回车。

10、参考资料

posted @ 2017-09-09 21:11  H_BING  阅读(3021)  评论(4编辑  收藏  举报