Я пытался написать тест с TestFX, чтобы проверить, открыт ли модальный режим, но не может найти какие-либо методы для этого.
Ниже приведено представление, которое имеет openModal (), когданажата кнопка
class MainView : View("Hello TornadoFX") {
override val root = BorderPane()
init {
with(root) {
prefWidth = 1920.0
prefHeight = 1080.0
center {
button("Login") {
id = "Login"
action {
find<LoginForm>().openModal()
}
}
}
}
}
}
Вот код TestFX
class MainViewTest: ApplicationTest() {
lateinit var primaryStage: Stage
private lateinit var loginButton: Button
@Before
fun setUpApplication() {
primaryStage = FxToolkit.registerPrimaryStage()
val mainView = MainView()
interact {
primaryStage.scene = Scene(mainView.root)
primaryStage.show()
primaryStage.toFront()
loginButton = from(mainView.root).lookup("#Login").query()
}
}
@Test
fun buttonLabelIsLogin() {
Assertions.assertThat(loginButton).hasText("Login")
}
@Test
fun clickButtonToOpenModal() {
clickOn(loginButton)
//Thread.sleep(5000)
}
Когда тестовый код запускается clickButtonToOpenModal (), он вызывает ошибку ниже.
kotlin.KotlinNullPointerException
Я думаю, что мне нужно как-то добавить экземпляр LoginForm в primaryStage, но я не могу найти способ включить или добавить экземпляр дляopenModal ().