本主题说明如何通过测试用例验证将测试用例转换为回归测试用例。

章节目录:

生成不需要验证的回归测试

如果想为回归测试创建快照(例如,如果您确信代码的行为符合预期),可使用“Unit Testing> Generate Regression Base”内置测试配置。

运行此测试配置时,C++test 将自动验证所有结果。

在后续测试中,如果 C++test 检测到初始测试中捕获的行为发生变化,则会报告任务。不需要进行验证。

关于验证

当 C++test 自动为行为符合预期的代码生成单元测试时,所生成的测试用例将形成一个功能快照:一套捕获代码当前行为(假定该行为是正确的)的单元测试。该测试套件本质上是一个可执行规范。它可以用来建立一个基线,以识别新增或修改代码引入的问题和变更。当您的目标是建立基线而不是验证应用程序当前的功能时,则无需审核这些测试用例的结果。此外,为了保持此基准的完整性,您不需要为同一代码重新创建单元测试。随着应用程序的开发,您可以根据此基准测试新代码和修改后的代码,以确保所做的更改不会影响或“破坏”先前验证的功能。

应验证您想要用于回归测试的任何测试用例。测试用例验证后,后置条件(捕获测试执行期间变量或类成员的实际值)将被转换为断言,这些断言将在所有后续测试中被检查。验证结果后,如果未实现相同的值,相关测试将会失败。

我们建议验证使用后置条件的用户自定义测试用例,以及您审核过并认为对回归测试有用的自动生成的测试用例。审查自动生成的测试用例时,可以展开测试用例节点以显示为被测对象的函数返回值和直接成员变量自动添加的后置条件详细信息。

验证测试用例

自动验证包含未验证结果的测试用例

可以自动验证包含未验证结果(后置条件而不是断言)的测试用例。

自动验证标记为未验证结果的一个或多个测试用例结果的步骤:

  • 在质量任务视图中右键点击未验证的结果(或表示一组未验证结果的节点),然后选择快捷菜单中的验证结果

所选上下文中的所有后置条件宏(无论是手动添加还是自动添加)都将转换为适当的断言。例如:

CPPTEST_POST_CONDITION_INTEGER("{int}_return=", _return) 转换为    
CPPTEST_ASSERT_EQUAL(0, _return),

CPPTEST_POST_CONDITION_FLOAT("{float}_return=", _return) 转换为
CPPTEST_ASSERT_DOUBLES_EQUAL(1.000000e+000, _return, 0.00001),

CPPTEST_POST_CONDITION_PTR("{int *}_return=", _return) 转换为
CPPTEST_ASSERT(_return != 0)。

手动验证

手动验证测试用例的步骤:

  1. 在项目树中,找到 C++test 生成的测试套件文件。
    • 默认情况下,自动生成的测试类保存在被测项目的 tests/autogenerated 目录中。
    • 要检查 C++test 将测试套件文件保存在哪里,可打开测试配置对话框,选择生成测试的测试运行所使用的测试配置,然后查看生成> 测试套件选项卡的测试套件输出文件和布局字段(详细信息请参阅测试套件选项卡)。
  2. 双击表示生成的测试类的项目树节点。生成的测试类文件将在编辑器中打开。
  3. 使用可用的宏将后置条件转换为断言。
  4. 进行所需的任何其他修改。
  5. 保存修改后的文件。


  • No labels