FEST测试挂起新的FrameFixture()

时间:2012-12-27 23:09:47

标签: java swing fest

我尝试使用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;
 }

这是一个框架错误还是我只是错误地使用了库?

1 个答案:

答案 0 :(得分:0)

我使用的是错误的构造函数。我应该是:

 drawingCalculator = new FrameFixture(robot(), createCalculator());

这将为此测试用例创建一个新机器人。