有没有办法对 Eclipse 对话框和 SWT/Jface 小部件进行单元测试?或者甚至更好 - 是否有一些 jar/框架可以帮助我模拟 Shell 或 Composite(这样我就不必模拟太多他们的方法)?
问问题
3035 次
2 回答
2
您正在寻找一个模拟 SWT 控件的框架。在使用 TDD 或您的测试必须可靠时,这通常被认为是最佳实践。
SWTBot 不模拟 SWT。使用 SWTBot 时,目标代码使用主机操作系统的标准 SWT 实现来执行。SWTBot 从另一个线程检查并触发 SWT 控件。这种方法不会将代码与环境隔离,根据主机平台和影响 SWT 的其他环境差异,测试可能会给出不同的结果。
不幸的是,由于缺少可注入构造函数、验证包、层次结构以及最终类和方法的代码,因此不能使用 Mockito 或 JMockit 等通用模拟库来模拟 SWT。对于 SWT 之类的库,您将需要使用自定义存根。搜索不显示任何 SWT 模拟库。因此,我在https://github.com/westbury/SWT-Mock开始了一个。
于 2014-02-02T21:54:31.647 回答