我尝试使用FEST创建一个swing测试,它只是单击一个按钮。不幸的是,测试在执行new FrameFixture(…)时挂起。我正在实例化一个控制器,它在内部创建一个从JFrame扩展的视图。getView()方法为我提供了这个JFrame。
@Override
protected void onSetUp() {
drawingCalculator = new FrameFixture(createCalculator());
drawingCalculator.show();
}
@RunsInEDT
private static MainWindow createCalculator() {
return execute(new GuiQuery<MainWindow>() {
protected MainWindow executeInEDT() {
MainModel model = new MainModel();
return new MainController(model).getView();
}
});
}
我无法通过新FrameFixture(…)的行。我调试了测试,此时它挂在框架中:
BasicRobot.class
private static Object acquireScreenLock() {
Object screenLockOwner = new Object();
ScreenLock.instance().acquire(screenLockOwner);
return screenLockOwner;
}
这是一个框架错误还是我只是错误地使用了库?
我使用了错误的构造函数。我应该是:
drawingCalculator = new FrameFixture(robot(), createCalculator());
这将为这个测试用例创建一个新的机器人