本主题提供有关运行时异常类别中结果的详细信息。

说明

修复单元测试问题> 运行时异常消息指示测试用例导致意外异常(测试用例代码中未考虑和处理的异常)。异常表示代码不够坚固。如果现场出现异常,由此产生的意外流转移和潜在的线程终止可能导致不稳定、意外结果,甚至崩溃或安全漏洞。

如果部署的应用程序在运行时发生异常,可能会导致系统和应用程序不稳定、安全漏洞(例如拒绝服务攻击)和频繁停机。

如果在单元测试过程中报告了异常,则表明测试用例的执行创造了被测代码抛出异常的条件。将被测代码集成到应用程序中后,应用程序可能会创建这些相同的条件并强制代码抛出异常。如上一段所述,在运行的已部署应用程序中发生的任何此异常都是一个关键问题。

推荐响应

此类别中报告的异常表示行为不正确的代码 - 不应为给定参数抛出异常的代码。

我们建议您在处理其他代码之前响应所有报告的运行时异常。如果代码需要修改,那么在您了解它之后立即修复它比等到开发过程的后期更快更容易。如果代码行为正确,您可以通过确保明确记录此行为来防止混淆和引入错误;当使用代码的其他开发人员确切地知道代码的行为方式时,他们引入错误的可能性就会降低。

当单元测试期间报告异常时,推荐的响应是:

  • 确定异常是表示被测代码中的错误,还是由调用被测代码的测试工具引起的。
  • 如果异常是由被测代码中的错误引起的,请更正代码。
  • 如果异常是故意的,则将测试用例注册更改为 使用
    CPPTEST_TEST_EXCEPTION 如所述 测试套件/测试用例注册宏
  • 通常,异常不是由被测代码引起的(这是异常表现出来的地方),而是由调用它的代码引起的。查看调用被测代码的应用程序代码,以确保应用程序无法产生由测试工具公开的已知异常导致条件。

请记住,被测代码稍后可能会被不受您控制的代码调用——这可能会产生可能导致此异常的条件。因此,必须保护代码免受导致异常的输入的影响。

  • No labels