要測(cè)試Java FXML應(yīng)用程序,您可以使用JUnit和TestFX庫(kù)
在您的pom.xml
文件中添加以下依賴(lài)項(xiàng)(如果您使用Maven構(gòu)建工具):
<!-- JUnit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<!-- TestFX -->
<dependency>
<groupId>org.testfx</groupId>
<artifactId>testfx-core</artifactId>
<version>4.0.16-alpha</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testfx</groupId>
<artifactId>testfx-junit</artifactId>
<version>4.0.16-alpha</version>
<scope>test</scope>
</dependency>
</dependencies>
在您的測(cè)試源代碼目錄中創(chuàng)建一個(gè)新的Java類(lèi)。例如,為了測(cè)試名為MyApp
的FXML應(yīng)用程序,您可以創(chuàng)建一個(gè)名為MyAppTest
的測(cè)試類(lèi)。
在測(cè)試類(lèi)中,編寫(xiě)針對(duì)FXML應(yīng)用程序的不同功能的測(cè)試方法。使用@Test
注解標(biāo)記每個(gè)測(cè)試方法。例如:
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
import org.junit.Test;
import org.testfx.framework.junit.ApplicationTest;
public class MyAppTest extends ApplicationTest {
@Override
public void start(Stage stage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("/path/to/your/fxml/file.fxml"));
Scene scene = new Scene(root);
stage.setScene(scene);
stage.show();
}
@Test
public void testButtonClick() {
// 編寫(xiě)測(cè)試代碼,模擬按鈕點(diǎn)擊事件并驗(yàn)證結(jié)果
}
}
在IDE中運(yùn)行測(cè)試類(lèi),所有使用@Test
注解的方法都將被執(zhí)行。如果測(cè)試通過(guò),表示您的FXML應(yīng)用程序按預(yù)期工作。如果測(cè)試失敗,請(qǐng)檢查代碼以查找錯(cuò)誤并修復(fù)它們。
注意:TestFX需要與JavaFX一起使用,因此確保在運(yùn)行測(cè)試時(shí)正確配置JavaFX SDK。