我想在Windows上的Eclipse(Neon)下组合一组jUnit测试来自动化JavaFX GUI的测试。看起来TestFX对于这种事情来说是个傻瓜,但是在网上看了很多,我还是不确定如何在不使用Maven或Gradle的情况下安装TestFX。
我不熟悉Maven和Gradle,并且尝试按照simple instructions通过Maven安装TestFX是不成功的。这是在Eclipse Mars下完成的,之后我的简单GUI程序抛出了一个关于无法查找或加载主类的编译错误以及 Selection不包含的运行时错误主要类型。 (简单的GUI程序之前运行没有错误。)在此之后,我下载了最新的Eclipse Neon并尝试重新开始。
这就是我所做的:
javafx/**
的访问权限(右键单击项目 - 属性 - Java构建路径 - 库 - JRE系统库 - 访问规则 - 添加)。package test; import javafx.application.Application; import javafx.stage.Stage; public class MyClass extends Application { @Override public void start(Stage stage) throws Exception { stage.setTitle("Hello World"); stage.show(); } }
testfx-core-4.0.0-20150226.214553-8.jar
从testfx repository(从How to use TestFX in your project的直接下载部分链接)复制到我的eclipse项目中,位于同一级别作为 JRE系统库; 然后我尝试将MyTest类扩展为使用testfx:
class MyTest extends GuiTest {}
as advised in this link;和(另外)
class MyTest extends ApplicationTest{}
as advised in this link。
以下是第二种情况中的代码:
package test; import org.junit.Test; import org.testfx.framework.junit.ApplicationTest; public class MyTest extends ApplicationTest { }
在每种情况下,eclipse都会抱怨超类GuiTest
/ ApplicationTest
无法解析为某种类型。
我怀疑问题是我没有正确安装testfx。有人可以帮忙吗?
答案 0 :(得分:0)
有多个依赖项;必须将以下jar文件添加到Referenced Libraries(将jar文件复制到项目中,右键单击项目 - Properties - Java Build Path - Libraries - Add JARs ...)。
以上内容独立于Gradle和Maven。或者,也可以使用Gradle拉取文件:
在build.gradle的dependencies
块中,插入以下行(source):
testCompile "org.testfx:testfx-core:4.0.+"
testCompile "org.testfx:testfx-junit:4.0.+"
右键单击项目 - Gradle - Refresh Gradle Project
这会将所需文件放入 Project和External Dependencies 文件夹中。
TestFX 4的有用教程:https://www.youtube.com/watch?v=NG03nNpSmgU。