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