2014-01-08 27 views
1

我想在一個JFrame,JButton的Fest教程之後做一個簡單的測試。不能用Fest + Swing創建FrameFixture

這裏是我的代碼:

private FrameFixture window; 

    @Before 
    public void setUp() { 
    MyMainFrame myMainFrame = GuiActionRunner.execute(new GuiQuery<MyMainFrame>(){ 
     protected MyMainFrame executeInEDT() 
      { 
       return new MyMainFrame(); 
      } 
     }); 
    window = new FrameFixture(myMainFrame); 
    window.show();  
} 

不管我在創建FrameFixture做,代碼壓碎(casues錯誤); 我甚至試圖用新的JFrame替換myMainFrame。

錯誤,我得到:

org/fest/reflect/exception/ReflectionError 
java.lang.NoClassDefFoundError 
at org.fest.swing.input.InputState.<init>(InputState.java:42) 
at org.fest.swing.fixture.WindowFixture.<init>(WindowFixture.java:103) 
at org.fest.swing.fixture.FrameFixture.<init>(FrameFixture.java:49) 
at javatestgui.MainFrameTest.setUp(MainFrameTest.java:48) 
at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 

Could not initialize class org.fest.swing.core.BasicRobot 
java.lang.NoClassDefFoundError 
at org.fest.swing.fixture.WindowFixture.<init>(WindowFixture.java:103) 
at org.fest.swing.fixture.FrameFixture.<init>(FrameFixture.java:49) 
at javatestgui.MainFrameTest.setUp(MainFrameTest.java:48) 

任何幫助,這是怎麼回事擰?

+0

看起來像你的類路徑有問題 - 仔細檢查是否所有必需的軟件包都可用 – kleopatra

回答

0

好吧,我得到一個類似的錯誤,所有我所要做的就是包括所有的罐子(禁止的*-sources.jar的)在fest-swing-1.2.zip文件中發現/lib文件夾加上加hamcrest-core-1.3.jar

0

你需要添加所有該文件夾巨星擺幅內部的罐,

巨星擺幅-1.2.jar LIB /巨星斷言-1.2.jar LIB /巨星 - 反射 - 1.2.jar LIB /巨星-util的-1.1.2 .jar lib/jcip-annotations-1.0.jar