UI テストを行うために、プロジェクトに TextFX を実装しようとしています。しかし、私はそれを正しく動作させることができないようです。http://search.maven.org/#search%7Cga%7C1%7Ctestfxからシステムの「TestFX-3.1.2」という名前のフォルダーにjar をダウンロードしました。
その後、これらの jar ファイル (jar、source、および javadoc) を指す新しいライブラリを Netbeans8 に作成しました。テストのために、新しいライブラリを追加した単純な Java FXML プロジェクトを作成しました。
public class Test2 extends Application {
@Override
public void start(Stage stage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml"));
Scene scene = new Scene(root);
stage.setScene(scene);
stage.show();
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
launch(args);
}
}
その隣には、次の生成コードを含む FXML ファイルのコントローラーがあります。
public class FXMLDocumentController implements Initializable {
@FXML
private Label label;
@FXML
private void handleButtonAction(ActionEvent event) {
System.out.println("You clicked me!");
label.setText("Hello World!");
}
@Override
public void initialize(URL url, ResourceBundle rb) {
// TODO
}
}
TestFX 側を実装するために、GuiTest を拡張する新しいクラスを作成しました。
package test2;
import java.io.IOException;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import org.loadui.testfx.GuiTest;
public class TestTheThing extends GuiTest {
@Override
protected Parent getRootNode() {
FXMLLoader loader = new FXMLLoader();
Parent node = null;
try {
node = loader.load(this.getClass().getResource("FXMLDocument.fxml").openStream());
} catch (IOException e) {
System.out.println(e.toString());
}
return node;
}
@Test //<-- this Annotiation does not work
public void pressTheButton(){
//TODO
}
}
上記のコードで述べたように、@Test は単純に機能せず、「シンボルが見つかりません」という警告で赤い下線が引かれています。私が間違っていることについて誰かが私を正しい方向に向けることができますか?