无法识别TestFX clickOn方法

时间:2018-05-21 20:39:00

标签: java testing javafx testfx

我用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 repo所述,但 clickOn() rightClickOn()写(),< strong> push()等等......根据GitHub回购中提供的示例,它们不应被识别出来。

enter image description here

以下是我所有的项目依赖项:

enter image description here

以下是我要做的事情:

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

1 个答案:

答案 0 :(得分:1)

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

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

public class CalcTDDTests extends ApplicationTest {
    ...
}