无法使用Fest + Swing创建FrameFixture

时间:2014-01-08 09:32:25

标签: java swing unit-testing junit fest

我试图在JFrame,JButton的Fest Tutorial之后做一个简单的测试。

这是我的代码:

    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)

有什么帮助会发生什么事吗?

2 个答案:

答案 0 :(得分:0)

好吧,我收到了类似的错误,而我所要做的就是在*-sources.jar文件中找到的/lib文件夹中加入所有的jar(除了fest-swing-1.2.zip个)添加hamcrest-core-1.3.jar

答案 1 :(得分:0)

你需要在fest-swing文件夹中添加所有Jars,

巨星摆幅-1.2.jar LIB /巨星断言-1.2.jar LIB /巨星 - 反射 - 1.2.jar LIB /巨星-util的-1.1.2.jar LIB / jcip的注解-1.0.jar