Метод TestFX clickOn не распознается - PullRequest
0 голосов
/ 21 мая 2018

Я построил простой калькулятор с 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 () , write () , 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 голосов
/ 21 мая 2018

CalcTDDTests расширяется javafx.application.Application.Этот класс не содержит ни одного из методов, которые вы ищете.

Класс, содержащий эти методы: org.testfx.framework.junit.ApplicationTest.Вам нужно расширить этот класс вместо javafx.application.Application.

public class CalcTDDTests extends ApplicationTest {
    ...
}
...