我尝试使用FEST创建一个swing测试,只需单击一个按钮即可。不幸的是,测试在执行新的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;
}
这是一个框架错误还是我只是错误地使用了库?
答案 0 :(得分:0)
我使用的是错误的构造函数。我应该是:
drawingCalculator = new FrameFixture(robot(), createCalculator());
这将为此测试用例创建一个新机器人。