本主题提供有关运行时异常分类中结果的详细信息。
说明
修复单元测试问题> 运行时异常消息表明测试用例出现异常(测试用例代码中未考虑和未处理的异常)。异常表明代码的健壮性不足。如果异常在实际使用中出现,可能导致意外的流程转移和潜在线程终止,从而引发不稳定、意外结果,甚至崩溃或安全漏洞。
如果部署的应用程序在运行时发生异常,可能会导致系统和应用程序不稳定、安全漏洞(例如拒绝服务攻击)和频繁停机。
如果在单元测试过程中报告了异常,则表明测试用例的执行创造了被测代码抛出异常的条件。被测代码集成到应用程序后,应用程序可能会创建相同的条件,迫使代码抛出异常。如上一段所述,在运行的部署应用程序中出现这种异常是相当严重的问题。
推荐处理方式
在此分类中报告的异常表示代码行为不正确——对于指定参数,代码不应抛出异常。
我们建议您在处理其他代码之前处理所有报告的运行时异常。如果代码需要修改,尽早修复会比等到开发过程后期再处理更快捷、更容易。如果代码行为正确,您可以通过确保明确记录此行为来防止混淆和引入错误;当使用代码的其他开发人员确切地知道代码的行为方式时,他们引入错误的可能性就会降低。
在单元测试期间报告异常时,推荐的处理方式是:
- 使用调试器调查失败的原因。详细信息,请参阅在测试执行期间使用调试器 。
- 确定异常是表示被测代码中的错误,还是由调用被测代码的测试工具引起的。
- 如果异常是由被测代码中的错误引起的,则更正代码。
- 如果是有意造成的异常,则将测试用例注册宏更改为使用
CPPTEST_TEST_EXCEPTION,如测试套件/测试用例注册宏所述。 - 通常,异常并不是由被测代码引起的(即异常发生的地方),而是由调用它的代码引起的。检查调用被测代码的应用程序代码,确保应用程序不会产生测试工具暴露的已知异常引发条件。
需注意,被测代码稍后可能会被不受您控制的代码调用——这可能会产生导致此异常的条件。因此,有必要保护代码免受引发异常的输入影响。