2012-12-27 51 views
0

我試圖使用FEST創建一個swing測試,只需單擊一個按鈕即可。不幸的是,測試在執行新的FrameFixture(...)時掛起。 我正在實例化一個控制器,它在內部創建一個視圖,該視圖從JFrame擴展而來。方法getView()爲我提供了這個JFrame。FEST測試掛在新的FrameFixture上()

@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; 
} 

這是一個框架的bug還是我簡單地使用圖書館錯?

回答

0

我使用了錯誤的構造函數。我應該是:

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

這將爲這個測試用例創建一個新的機器人。