本主题介绍在常见场景下解决异常违规的最佳实践。
场景 1:开发人员修改了源代码,需要将项目测试为“无异常”状态
- 执行以下操作之一:
- 如果您还没有项目,则需创建一个项目。
- 如果您已经有一个项目,则从源码管理更新项目和相关的源文件。
- 在 GUI 生成并执行测试。
- 查看报告的异常,并通过修复代码,根据正确的设置修改测试或验证抛出期望异常的测试用例来解决这些异常。
要验证测试用例,可在生成的测试类文件中使用以下断言:
//
断言给定表达式抛出指定类型的异常
CPPTEST_ASSERT_THROW(expression, ExceptionType)// 断言给定表达式抛出指定类型的异常
CPPTEST_ASSERT_THROW_MESSAGE(message, expression, ExceptionType)
运行适当的回归测试配置以验证测试通过。
- 此步骤的退出标准是,不存在过时的测试用例,所有功能至少具有一个测试用例,并且所有测试用例均通过(即,它们不会抛出未经验证的异常)。
- 保存项目。
- 根据通过源码管理共享项目和测试资产中的说明,将项目和相关的测试资产(包括测试用例)检入源码管理。
场景 2:从命令行运行测试;开发人员需要解决报告的异常
- 查看报告并确定导致异常的项目。
- 从源码管理更新项目和相关的源文件。
- 使用本地源文件和计划的命令行回归测试所使用的配置来重现测试用例的失败/异常。
- 如果提供了对计划回归测试的原始项目的访问权限,则可以使用该设置来执行修复。
- 通过修复代码、根据正确的设置修改测试或验证抛出期望异常的测试用例来解决报告的异常。
要验证测试用例,可在生成的测试类文件中使用以下断言:
//
断言给定表达式抛出指定类型的异常
CPPTEST_ASSERT_THROW(expression, ExceptionType)// 断言给定表达式抛出指定类型的异常
CPPTEST_ASSERT_THROW_MESSAGE(message, expression, ExceptionType)
- 运行适当的回归测试配置以验证测试通过。
- 此步骤的退出标准是,不存在过时的测试用例,所有功能至少具有一个测试用例,并且所有测试用例均通过(即,它们不会抛出未经验证的异常)。
- 保存项目。
- 根据通过源码管理共享项目和测试资产中的说明,将项目和相关的测试资产(包括测试用例)检入源码管理。