• 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、参考资料

  • 相关阅读:
    Servlet 处理HTTP请求
    Servlet基础知识
    JavaWeb基础知识点①请求响应②comcat③类和类的关系
    MySQL子查询
    聚合与分组
    表联接
    LVS+KEEPALIVED
    tar命令详解
    mysql 安装
    mysql两种备份方法总结:mysqldump 和 xtrabackup
  • 原文地址:https://www.cnblogs.com/HBING/p/7492597.html
Copyright © 2020-2023  润新知