0

我用 JavaFX 构建了一个简单的计算器,现在我想对其进行测试,事实证明这是一个相当大的挑战。我发现了一个名为 TestFX 的库,它似乎非常适合测试我的计算器。添加以下依赖项后:

<dependency>
    <groupId>org.testfx</groupId>
    <artifactId>testfx-core</artifactId>
    <version>4.0.13-alpha</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.testfx</groupId>
    <artifactId>testfx-junit</artifactId>
    <version>4.0.13-alpha</version>
    <scope>test</scope>
</dependency>

GitHub存储库中所述,但是clickOn()rightClickOn()write()push()等功能无法识别,就像它们应该按照其 GitHub 存储库中提供的示例一样。

在此处输入图像描述

这是我所有的项目依赖项:

在此处输入图像描述

这是我正在尝试做的事情:

public class CalcTDDTests extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception {
        Parent mainNode = FXMLLoader.load(getClass().getResource("/fxml/FXMLDocument.fxml"));
        mainNode.getStylesheets().add("styles/myStyles.css");
        primaryStage.setScene(new Scene(mainNode));
        primaryStage.show();
        primaryStage.toFront();
    }

    @Test
    public void testPressDigit() {
        clickOn("#nineBtn");
    }    

}

我正在使用 NetBeans 8.2,如果这是导入某些包的问题,​​NetBeans 找不到它。我尝试导入以下包:

import static org.testfx.api.FxAssert.verifyThat;
import static org.testfx.matcher.control.LabeledMatchers.hasText;

import org.testfx.framework.junit.ApplicationTest;
import org.testfx.robot.Motion;

我正在使用 JDK 1.8 和 JavaFX 8

4

1 回答 1

1

CalcTDDTests延伸javafx.application.Application。此类不包含您正在寻找的任何方法。

包含这些方法的类是org.testfx.framework.junit.ApplicationTest. 您需要扩展此类而不是javafx.application.Application.

public class CalcTDDTests extends ApplicationTest {
    ...
}
于 2018-05-21T20:46:16.750 回答