我用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回购中提供的示例,它们不应被识别出来。
以下是我所有的项目依赖项:
以下是我要做的事情:
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
答案 0 :(得分:1)
CalcTDDTests
延伸javafx.application.Application
。此课程不包含您正在寻找的任何方法。
包含这些方法的类是org.testfx.framework.junit.ApplicationTest
。您需要扩展此类而不是javafx.application.Application
。
public class CalcTDDTests extends ApplicationTest {
...
}