本主题介绍了在常见场景下解决异常违规的最佳实践。
场景1:开发人员修改了源代码,需要将项目测试为“无异常”状态
- 请执行以下任一操作:
- 如果您还没有项目,请创建一个。
- 如果您已经有一个项目,请从源代码管理更新项目和相关的源文件。
- 从图形用户界面生成并执行测试。
- 查看报告的异常,并通过修复代码,修改测试以进行正确的设置或验证抛出预期异常的测试用例来解决这些异常。
要验证测试用例,请在生成的测试类文件中使用以下断言:
//
断言给定表达式抛出指定类型的异常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)
- 运行适当的回归测试配置以验证测试通过。
- 此步骤的退出标准是不存在过时的测试用例,所有功能至少具有一个测试用例,并且所有测试用例均通过(即,它们不会抛出未经验证的异常)。
- 保存项目。
- 如通过源代码管理共享项目和测试资产中所述,将项目和相关的测试资产(包括测试用例)检入源代码管理。