2014-01-08 88 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