gpt4 book ai didi

java - @Test 注释不适用于 TestFX

转载 作者:行者123 更新时间:2023-12-01 16:59:45 25 4
gpt4 key购买 nike

我正在尝试在我的项目中实现 TextFX 来进行一些 UI 测试。然而我似乎无法让它正常工作。我已经从 http://search.maven.org/#search%7Cga%7C1%7Ctestfx 下载了 jars到我的系统上名为“TestFX-3.1.2”的文件夹。

之后,我在 Netbeans8 中创建了一个新库,指向这些 jar 文件(jar、源代码和 javadoc)。作为测试,我创建了一个简单的 Java FXML 项目,并添加了新库。

public class Test2 extends Application {

@Override
public void start(Stage stage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml"));

Scene scene = new Scene(root);

stage.setScene(scene);
stage.show();
}

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
launch(args);
}

}

接下来,我有一个用于 FXML 文件的 Controller ,其中生成了以下代码:

public class FXMLDocumentController implements Initializable {

@FXML
private Label label;

@FXML
private void handleButtonAction(ActionEvent event) {
System.out.println("You clicked me!");
label.setText("Hello World!");
}

@Override
public void initialize(URL url, ResourceBundle rb) {
// TODO
}

}

为了实现 TestFX 端,我创建了一个扩展 GuiTest 的新类:

package test2;

import java.io.IOException;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import org.loadui.testfx.GuiTest;


public class TestTheThing extends GuiTest {

@Override
protected Parent getRootNode() {
FXMLLoader loader = new FXMLLoader();
Parent node = null;
try {
node = loader.load(this.getClass().getResource("FXMLDocument.fxml").openStream());
} catch (IOException e) {
System.out.println(e.toString());
}
return node;
}

@Test //<-- this Annotiation does not work
public void pressTheButton(){
//TODO
}
}

正如上面代码中所述,@Test 根本不起作用,并且带有红色下划线,并带有警告“找不到符号”。谁能指出我做错了什么的正确方向?

最佳答案

根据https://repo1.maven.org/maven2/org/loadui/testFx/3.1.2/testFx-3.1.2.pom , testFx 有几个依赖项(guava、junit、hamcrest-all、hamcrest-core)。为了正常工作,您需要将这些依赖项对应的 jar 添加到您的项目中。不过,建议使用 Maven。

关于java - @Test 注释不适用于 TestFX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28610085/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com