单元测试执行报告

CoverageBrowser 导入构成应用程序的某个对象文件的所有执行结果。这意味着,如果一个单元测试像应用程序一样使用相同的对象文件,CoverageBrowser 可以导入单元测试的执行结果,并将它们合并到编译应用程序的代码覆盖率中。

例如,以下应用程序由三个文件组成

  • app.cpp:此文件包含应用程序的 main() 函数。
  • library.cpp:此文件包含由 app.cpp 调用的函数。
  • testlibrary.cpp:此文件包含 library.cpp 中函数的测试代码。它有自己的 main() 函数。

在 Microsoft® Windows 中,应用程序使用以下命令编译

cscl app.cpp /Foapp.obj
cscl library.cpp /Folibrary.obj
cscl library.obj app.obj /Feapp.exe

以下命令编译单元测试程序

cscl testlibrary.cpp /Fotestlibrary.obj
cscl library.obj testlibrary.obj /Fetestlibrary.exe

要将单元测试的执行报告导入主应用程序的仪器数据库,可以使用两种方法

  • 执行 testlibrary.exe 生成执行报告 testlibrary.exe.csexe。然后,该报告被加载到测量数据库 app.exe.csmes
  • 执行 testlibrary.exe 生成执行报告 testlibrary.exe.csexe。然后,通过在 CoverageBrowser 中选择 文件 > 导入单元测试(请参阅 导入单元测试)将该报告加载到测试代码的测量数据库 testlibrary.exe.csmes

在这两种情况下,都只加载了文件 library.cpp 的代码覆盖率分析,而忽略测试代码的执行报告。

Coco® v7.2.0©2024 Qt 公司有限公司。
Qt 及相应徽标是芬兰或世界其他地区的 Qt 公司的商标。所有其他商标均为其各自所有者的财产。