我想在 Windows 上的 Eclipse (Neon) 下组合一组 jUnit 测试,以自动执行 JavaFX GUI 的测试。看起来 TestFX 是这类事情的最佳选择,但是在互联网上浏览了很多之后,我仍然不确定如何在不使用 Maven 或 Gradle 的情况下安装 TestFX。
我不熟悉 Maven 和 Gradle,并试图遵循 simple instructions通过 Maven 安装 TestFX 失败。这是在 Eclipse Mars 下完成的,之后我的简单 GUI 程序抛出了一个关于无法查找或加载主类的编译错误,以及一个选择不包含主类型的运行时错误。 (之前简单的GUI程序运行没有错误。)此后,我下载了最新的Eclipse Neon并尝试重新启动。
这就是我所做的:
- 从 eclipse.org 下载并安装 Eclipse Neon .
- 创建一个名为 TestProject 的 Java 项目(执行环境 JavaSE-1.8)。
- 授予对
javafx/**
的访问权限(右键单击项目 -- 属性 -- Java 构建路径 -- 库 -- JRE 系统库 -- 访问规则 -- 添加)。 - 使用最少的内容创建 MyClass:
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 repository 复制文件
testfx-core-4.0.0-20150226.214553-8.jar
(从 How to use TestFX in your project 的通过直接下载部分链接)到我的 Eclipse 项目,与 JRE 系统库处于同一级别; - 将 jar 文件添加到构建路径(右键单击项目 -- 属性 -- Java 构建路径 -- 库 -- 添加 JARS) - 这会自动创建一个名为 Referenced Libraries 的目录,并将 jar 文件复制到其中;和
- 创建一个 JUnit 测试(右键单击源文件夹 -- 新建 -- JUnit 测试用例),填写相应的包和测试下的类字段,并为测试用例指定一个名称 (MyTest)。
然后我尝试扩展 MyTest 类以使用 testfx:
class MyTest 扩展 GuiTest {}
as advised in this link ;和(分别)class MyTest 扩展了 ApplicationTest{}
as advised in this link .
这是第二种情况的代码:
package test; import org.junit.Test; import org.testfx.framework.junit.ApplicationTest; public class MyTest extends ApplicationTest { }
在每种情况下,eclipse 都会提示父类(super class) GuiTest
/ApplicationTest
无法解析为类型。
我怀疑问题是我没有正确安装testfx。有人可以帮忙吗?
最佳答案
有多个依赖关系;必须将以下 jar 文件添加到引用的库中(将 jar 文件复制到项目中后,右键单击项目 -- 属性 -- Java 构建路径 -- 库 -- 添加 JAR...)。
- testfx-core-4.0.4-alpha.jar,来源:http://mavensearch.io/repo/org.testfx/testfx-junit/4.0.4-alpha
- testfx-junit-4.0.4-alpha.jar,来源:http://mavensearch.io/repo/org.testfx/testfx-core/4.0.4-alpha
- guava-18.0.jar,来源:http://mavensearch.io/repo/com.google.guava/guava/18.0
- hamcrest-core-1.3.jar,来源:http://mavensearch.io/repo/org.hamcrest/hamcrest-all/1.3
以上内容独立于Gradle和Maven。或者,也可以使用 Gradle 提取文件:
- 在 Eclipse 中创建 Gradle 项目。
在 build.gradle 的
dependencies
block 中,插入以下行 ( source ):testCompile "org.testfx:testfx-core:4.0.+" testCompile "org.testfx:testfx-junit:4.0.+"
右键项目--Gradle--刷新Gradle项目
这会将所需的文件放入项目和外部依赖项文件夹中。
TestFX 4 有用教程:https://www.youtube.com/watch?v=NG03nNpSmgU .
关于java - 如何安装 TestFX?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40801957/