Как я могу запускать тесты testfx последовательно?

У меня есть 2 теста testfx, каждый из которых выполняется успешно, но когда они запускаются последовательно, терпят неудачу. Сообщение об ошибке:

--- Exception in Async Thread ---
java.util.concurrent.ExecutionException: java.lang.IllegalStateException: Cannot set style once stage has been set visible
java.util.concurrent.FutureTask.report(FutureTask.java:122)
...

Я инициализировал тест, создав сцену:

@Before
public void setUp() throws Exception {

 FxToolkit.registerPrimaryStage();
 setupStage((stage -> {

 Undecorator undecorator;
 ....

Кажется, что нить не выходит из сцены в первый раз. Я пробовал несколько вещей с форума testfx, чтобы убить его до начала второго теста, включая FxToolkit.hideStage(); и Platform.exit(); ,

Я использую org.testfx:testfx-junit:4.0.6-alpha. Есть предположения?

Спасибо, Энди

1 ответ

Ваше сообщение об ошибке сообщает вам о проблеме:

Невозможно установить стиль, когда один этап был сделан видимым

Как указано в методе Stage.initStyle(), вам необходимо установить стиль до того, как будет установлен вид сцены. Вы можете подтвердить это, выбрав tinto исходный код для класса Application.

Единственный способ обойти эту проблему - перезапустить JVM для каждого теста, если вам нужно установить свойства "одноразовые".

licensed under cc by-sa 3.0 with attribution.