我用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>然而,正如在ther GitHub回购中所述,像clickOn()、 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;我正在使用JDK1.8和JavaFX 8
发布于 2018-05-21 20:46:16
CalcTDDTests扩展了javafx.application.Application。这个类不包含您要寻找的任何方法。
包含这些方法的类是org.testfx.framework.junit.ApplicationTest。您需要扩展这个类而不是javafx.application.Application。
public class CalcTDDTests extends ApplicationTest {
...
}https://stackoverflow.com/questions/50456327
复制相似问题