5

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

4

2 回答 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 回答
0

SWTBot应该是首先要看的东西。

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

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

于 2012-10-16T08:36:24.440 回答