模拟日食SWT/JFACE对话框和小部件



>有没有办法单元测试日食对话框和SWT/Jface小部件?或者更好 - 是否有一些 jar/框架可以帮助我模拟 Shell 或复合(这样我就不必模拟太多他们的方法)?

您正在寻找一个框架来模拟 SWT 控件。 在使用 TDD 或测试必须可靠时,这通常被认为是最佳实践。

SWTBot不会嘲笑SWT。 使用 SWTBot 时,目标代码使用主机操作系统的标准 SWT 实现执行。 SWTBot 检查并从另一个线程触发 SWT 控件。 此方法不会将代码与环境隔离,测试可能会根据主机平台和影响 SWT 的其他环境差异给出不同的结果。

不幸的是,通用的模拟库(如 Mockito 或 JMockit)不能用于模拟 SWT,因为缺乏可注入的构造函数、验证包的代码、层次结构以及最终类和方法的组合。 对于像 SWT 这样的库,您将需要使用自定义存根。 搜索不显示任何 SWT 模拟库。 因此,我在 https://github.com/westbury/SWT-Mock 开始了一个。

SWTBot应该是首先要看的。

这是Vogella关于如何使用SWTBot的精彩教程。

最后,这是关于SWTBot的另一个SO问题。

最新更新