【问题标题】:Can't create FrameFixture with Fest + Swing无法使用 Fest + Swing 创建 FrameFixture
【发布时间】:2014-01-08 09:32:24
【问题描述】:

我正在尝试在 JFrame、JButton 的 Fest 教程之后做一个简单的测试。

这是我的代码:

    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 时崩溃(导致错误); 我什至尝试用新的 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)

有什么帮助吗?

【问题讨论】:

  • 看起来你的类路径有问题 - 仔细检查所有必要的包是否都可用

标签: java swing unit-testing junit fest


【解决方案1】:

好吧,我遇到了类似的错误,我所要做的就是将所有 jar(除了 *-sources.jar 的)包含在 /lib 文件夹中,该文件夹位于 fest-swing-1.2.zip 文件中,并添加 hamcrest-core-1.3.jar

【讨论】:

    【解决方案2】:

    您需要在文件夹 fest-swing 中添加所有的罐子,

    fest-swing-1.2.jar lib/fest-assert-1.2.jar lib/fest-reflect-1.2.jar lib/fest-util-1.1.2.jar lib/jcip-annotations-1.0.jar

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-21
      • 1970-01-01
      相关资源
      最近更新 更多