如何(自动)测试使用SWTBot关闭应用程序的不同方法(使用Tycho)

时间:2015-12-17 11:08:40

标签: eclipse unit-testing eclipse-rcp tycho swtbot

可能有一个简单的答案,但我发现自己很难弄清楚:如何用SWTBot测试退出应用程序的不同方法?

在我的基于Eclipse RCP 3.x的应用程序中,您可以通过三种不同的方式关闭应用程序:

  1. 鼠标单击菜单项文件> 退出
  2. 菜单上的键盘快捷键 Alt + F X
  3. 每个快捷方式( Ctrl + Q
  4. 我目前正在SWTBot的帮助下为此行为编写单元测试。运行它们我有一个简单而且非常现实的问题:一旦关闭应用程序的一种方法被测试,应用程序就会关闭,因此所有其他测试都会失败。

    所有测试目前都在一个测试类中。

    因此,我的问题是:如何成功运行所有测试,从Eclipse开始。但是:如何在构建期间让它们由Tycho运行,以便后续测试不会因为应用程序不再打开而自动失败?

1 个答案:

答案 0 :(得分:4)

简而言之,您无法使用SWTBot测试关闭应用程序。

正如您已经发现的那样,关闭应用程序也将终止VM。由于您的测试在与测试中的应用程序相同的VM中运行,因此测试也将终止。

除了这些含义之外,您不应该测试关闭应用程序。关闭你提到的应用程序的三种方法都是由平台提供的,因此平台应该对该功能进行测试,而不是你的应用程序。