1

我正在将我的应用程序从 JDK 8 更新到 13 和 Javafx 13。将所有依赖项更新为最新更新的依赖项。但现在我的一项测试返回错误。不是在public void start(Stage stage)初始化时调用,而是在函数public void tearDown()调用后,关闭一个空应用程序。

我不明白为什么没有调用 start 。

public class AppUiChooseDownloadFolderTestIT extends BaseUiTestIT {
    @Before
    public void setUp() throws Exception {
        LOG.info("Starting test case {}", testname.getMethodName());
    }

    @Override
    @After
    public void tearDown() {
        // Nothing
    }
}
public class BaseUiTestIT extends ApplicationTest {
    protected App app;

    @Override
    public void start(Stage stage) throws Exception {
        app = Mockito.mock(App.class);

        Injector.injectMembers(BaseUiTestIT.class, this);
        Mockito.doCallRealMethod().when(app).start(Mockito.any());

        app.start(stage);
    }

    @After
    public void tearDown() {
        LOG.info("Stopping application {}", app);

        if (app != null)
         app.stop();

        closeWindows();
        LOG.info("Cleanup of app finished");
    }
}

规格

  • 版本:4.0.15-alpha
  • 开放JDK 13
  • JavaFX 13
  • 平台:Ubuntu
4

1 回答 1

0

确保您正在使用testfx-junit5,而不是testfx-junit如果您使用的是 JUnit 5。

于 2021-09-10T13:17:48.540 回答