4

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

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

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

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

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

4

1 回答 1

0

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

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

  1. 执行将引发异常的代码/动作序列
  2. 在您的测试自动化框架的帮助下,验证日志文件是否具有与上一步中引发的异常相关的条目。
于 2015-04-08T13:40:57.600 回答