CppUnit 是由 Erich Gamma 和 Kent Beck 开发的 JUnit Java 测试框架的 C++ 端口。如果您已有现有的 CppUnit 测试,则可以使用 C++test 运行它们,并利用 C++test 基础结构的扩展测试功能。

正如我们在前面的练习中创建的其他单元测试一样,可以在 C++test 中运行 CppUnit 测试。我们建议您将 CppUnit 测试保留在项目中 C++test 测试目录以上的单独目录中,并创建配置以对其进行访问。

创建“运行 CppUnit 测试(项目范围)”测试配置

  1. 打开【测试配置】窗口,并重复练习 5 中创建的 用户定义> 运行单元测试(项目范围)
  2. 打开执行>常规 选项卡, 测试套件文件的搜索模式(*) 设置为${project_loc}/CppUnit/* (指向添加的 CppUnit 目录)。





  3. 重命名配置运行 CppUnit 测试(项目范围)
  4. 点击应用关闭
  5. 打开【质量任务】视图,然后单击面板菜单中的双 X 来清除选项卡的内容,然后再运行 CppUnit 测试配置。重复进行【覆盖率】视图。





  6. 选择为 CppUnit 测试编写的ATM 项目或其他范围,然后运行 运行 CppUnit 测试 (项目范围) 配置。测试应该成功运行,但是标记一个断言错误。
  7. 在【质量任务】视图中展开修复单元测试问题,然后双击断言失败以查看问题的根源。



    CppUnit 测试期望测试调用返回非零值。
  8. 打开Bank.cxx 并跳转到 getAccount 函数,



    该函数始终返回 NULL,但注释表明如果密码正确,则应返回userAccount 。 
  9. 修改代码以返回userAccount来解决此问题。
  10. 选择ATM> CppUnit> BankTestCase> testGetAccount,然后重新运行测试以验证该修复程序。
  • No labels