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

时间:2012-10-16 08:31:37

标签: eclipse unit-testing swt jface

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

2 个答案:

答案 0 :(得分:2)

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

SWTBot不会模拟SWT。使用SWTBot时,目标代码使用主机OS的标准SWT实现执行。 SWTBot从另一个线程检查并触发SWT控件。这种方法不会将代码与环境隔离,并且测试可能会产生不同的结果,具体取决于主机平台和影响SWT的其他环境差异。

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

答案 1 :(得分:0)

SWTBot应该是首先要考虑的事情。

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

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