如何在行为中测试未捕获/未处理的异常?

时间:2015-04-08 13:06:23

标签: python-2.7 exception testing exception-handling python-behave

如果应用程序中出现未考虑的异常(未捕获/未处理的异常),则应记录该异常。我想在行为中测试这种行为。

日志记录用于检测未处理的异常,因此开发人员可以实现对这些异常的处理或在需要时修复它们。

为了测试这个,我想我必须让测试中的代码引发异常。问题是,如果不对生产代码中的异常提高进行硬编码,我无法弄清楚如何做到这一点。这是我想避免的,因为我不认为这个测试代码属于生产。

在进行单元测试时,我可以轻松地模拟一个函数来引发异常。在行为方面,我不能这样做,因为应用程序是在另一个进程中启动的。

如何在行为测试中引发异常,因此看起来好像生产代码已经导致它,而没有在生产代码中对异常进行硬编码?

1 个答案:

答案 0 :(得分:0)

无论框架/编程语言异常是出现问题的状态。这个问题必须由应用程序以某种方式处理,这就是为什么一个优秀的程序员会在最需要的地方编写异常处理代码的原因。

异常处理可以是一切。在您的情况下,您想要测试记录的异常。因此,我在这里看到一个简单的测试序列:

  1. 执行将引发异常的代码/操作序列
  2. 在测试自动化框架的帮助下,验证日志文件是否有与上一步中引发的异常相关的条目。