我正在尝试将assertJ-swing 集成到没有Maven 的NetBeans 项目中。所以我从http://repo1.maven.org/maven2/org/assertj/assertj-swing/3.8.0/下载了assertj-swing-3.8.0.jar并将其作为库添加到 NetBeans 中。
在测试 main() 中,我使用以下命令执行我的应用程序:
org.assertj.swing.launcher.ApplicationLauncher.application(STInt_Client.class).start();
并且应用程序正确启动。应用程序弹出 2 个 JDialog 框,在两者上按 OK 后,它会创建一个新的 JFrame 并对其调用 setVisible(true)
。
在我的测试中,我想以编程方式定位该框架,所以我这样做:
FrameFixture chooseModeFrame = findFrame("Frame_ChooseMode").withTimeout(10000).using(robot());
Frame_ChooseMode 是 JFrame 类的名称。但这行抛出异常:
Exception in thread "main" java.lang.NoClassDefFoundError: org/assertj/core/util/Preconditions
at org.assertj.swing.core.NameMatcher.<init>(NameMatcher.java:83)
at org.assertj.swing.finder.ComponentFinderTemplate.<init>(ComponentFinderTemplate.java:57)
at org.assertj.swing.finder.WindowFinderTemplate.<init>(WindowFinderTemplate.java:42)
at org.assertj.swing.finder.FrameFinder.<init>(FrameFinder.java:40)
at org.assertj.swing.finder.WindowFinder.findFrame(WindowFinder.java:85)
at com.stinternational.client.test.Test_GUI.main(Test_GUI.java:107)
Test_GUID.java:107 是我对 findFrame()
的调用。知道为什么抛出这个异常吗?预先感谢您。
最佳答案
我丢失了assertj core utils jar 文件。必须从here下载assertj-core-3.10.0.jar文件并在项目中引用它。
关于java - assertJ findFrame() 失败并出现 NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51298204/