测试Java GUI应用程序 - 测试期间关闭窗口结束测试套件

时间:2014-04-17 17:09:32

标签: java junit

我正在尝试测试现有软件,而且我遇到了一个问题;如果,在junit测试套件中,我关闭了一个gui窗口,整个测试套件就结束了。没有错误,失败或成功。它肯定也会结束,因为它也会关闭所有其他窗口,并终止线程。

我没有使用junit来测试GUI - 这显然更像是系统测试,我正在使用GUI自动化软件。但是,为了在软件的某个类中测试一个方法,我必须要继续使用gui。在测试结束时,我需要关闭窗口,否则它们将保持打开状态,实际上会干扰其他测试(它是网络软件)。但是,如上所述,向任何窗口发送一个闭包事件会立即结束测试套件。

我对整件事情感到好奇并且慢慢地意识到,令我惊恐的是,即使在正常执行中,如果我关闭一个窗口,它也不会在软件中处理,它只是神奇地停止执行!主驱动程序的循环甚至没有任何退出条件,只是在(真)没有中断的情况下!我的想法是,这必须与在测试期间关闭窗口时一切都停止的原因有关。

无论如何,我仍然不完全明白发生了什么,所以如果有人能填补我,那就太好了。但我的主要问题是如何解决/解决这个问题并关闭窗口而不会破坏整个测试套件。

注意:我无法更改软件的行为。 (你可能已经猜到了,这是为了一个班级)

1 个答案:

答案 0 :(得分:0)

听起来像关闭窗口正在调用System.exit()。如果你有能力删除它,你可以这样做。如果您不这样做,则可以安装一个SecurityManager来阻止测试期间的呼叫。示例:Preventing System.exit() from API