这可能有点矛盾。但我需要运行一个“测试”,它基本上显示了一个java编辑器/视图等,并允许用户与视图交互,而无需启动剩余的应用程序。
类似的东西:
public static void main(String[] args) {
Display display = new Display();
final Shell shell = new Shell(display);
shell.setSize(500, 500);
shell.setLayout(new RowLayout());
shell.setText("Composite Example");
final Composite composite = new Composite(shell, SWT.NONE);
GridLayout gridLayout = new GridLayout();
gridLayout.numColumns = 4;
composite.setLayout(gridLayout);
// Here the view is shown
MyExample sdf = new MyExample(composite, SWT.NONE);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
是否有更系统的方法(例如使用junit)创建用户必须手动启动和终止的用户交互测试?
答案 0 :(得分:1)
我认为,您需要一些GUI测试工具。我知道它不是你想要的,但它可以作为“按下GUI按钮”的自动方式。
我建议SWTBot或WindowTester进行试验。
答案 1 :(得分:1)
您应首先考虑将代码重构为更可测试的方式。查看模型 - 视图 - 控制器设计模式,请参阅示例http://java.sun.com/blueprints/patterns/MVC-detailed.html
完成后,所有实际操作都应该在模型或控制器类中,这应该很容易使用正常的JUnit测试进行测试。视图将非常薄,仅创建实际的图形组件。通常不需要的测试。
如果您仍然决定进行GUI测试,我建议使用SWTBot作为Zoltán的建议。它与Eclipse很好地集成。