对此可能有一个简单的答案,但我发现自己很难弄清楚:如何测试使用SWTBot退出应用程序的不同方法?
在我的基于EclipseRCP3.x的应用程序中,您可以通过三种不同的方式关闭应用程序:
- 每次鼠标点击菜单项(文件退出)
- 根据菜单上的键盘快捷键(Alt+F X)
- 每个快捷方式(Ctrl+Q)
我目前正在SWTBot的帮助下为这种行为编写单元测试。运行它们时,我遇到了一个简单而真实的问题:一旦测试了关闭应用程序的一种方法,应用程序就会关闭,因此所有其他测试都会失败。
所有测试当前都驻留在一个测试类中。
因此,我的问题是:如何从Eclipse开始成功运行所有测试。但是:我怎么能让Tycho在构建过程中运行它们,这样下面的测试就不会因为应用程序不再打开而自动失败?
简而言之,您不能用SWTBot测试关闭应用程序。
正如您已经发现的,关闭应用程序也会终止VM。由于测试与被测试的应用程序在同一个虚拟机中运行,因此测试也将终止。
除了这些含义之外,您不应该测试关闭应用程序。您提到的关闭应用程序的三种方法都是由平台提供的,因此平台应该对该功能进行测试,而不是对您的应用程序进行测试。