我正在尝试在 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)
有什么帮助吗?
最佳答案
嗯,我遇到了类似的错误,我所要做的就是将所有 jars(除了 *-sources.jar
的)包含在 /lib
中在 fest-swing-1.2.zip
文件中找到的文件夹并添加 hamcrest-core-1.3.jar
关于java - 无法使用 Fest + Swing 创建 FrameFixture,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20991683/