当前位置: 首页 > 知识库问答 >
问题:

如果启动时出现异常,如何让junit tearDown方法运行?

燕承安
2023-03-14

我正在通过JUnit运行selenium测试。在我的系统中,我们的AbstractSeleniumTestCase类的setUp方法设置了selenium web驱动程序和firefox配置文件,而tearDown方法从系统中注销并关闭selenium。

一些测试将重写setUp和tearDown方法,以进行自定义测试设置和tearDown。

我遇到的问题是,如果在测试的启动方法中出现错误(比如意外弹出或selenium异常),那么web浏览器永远不会关闭,测试特定的拆卸操作永远不会完成。

共有1个答案

邹俊拔
2023-03-14

您可以使用setup()方法中的try块在遇到错误后运行teardown(),并将测试设置的“肉”移到另一个方法中:

public void setUp() throws Exception {
    try {
        mySetUp();
    } catch (Exception e) {
        tearDown();
        throw e;
    }
}

然后,在子类中重写mysetup()而不是setup()

 类似资料:
  • 我的主 LoginController.java 请注意,我还没有在userController.java中编写任何代码,我只是为user.fxml编写了ui 在javafx.fxml.fxmlloader.constructloadexception(fxmlloader.java:2597)在javafx.fxml.fxmlloader.access$100(fxmlloader.java:1

  • 我有很多来自供应商的类,它们喜欢在属性访问上随机抛出RuntimeException。 我不能更改类,不能添加注释,而且为每个类定义混合是不现实的,因为堆栈的这部分经常更改。 如果属性的getter抛出异常,如何使Jackson忽略该属性?

  • 我在Spring-MVC+JPA上有应用。我建立战争并尝试在Tomcat上开始。 DataConfig: app.properties为: 因此,tomcat日志中会出现错误消息:

  • 我刚刚开始使用JavaFX,我试图构建一个简单的应用程序,其中包含标签、文本字段和按钮,当单击这些按钮时,将标签的值设置为文本字段的值。在我把控制器连接到主文件之前,一切都很顺利。这是我的代码: 我尝试了在StackOverflow上找到的多个答案,但我找到的都是2年前的答案,对我的代码没有任何积极的影响。 编辑:在此处堆栈跟踪:

  • 严重:启动筛选器springSecurityFilterChain org.SpringFramework.Beans.Factory.NoSuchBeanDefinitionException:否 名为“Spring SecurityFilterChain”的bean在org.springframework.beans.factory.support.defaultlistablebeanfac

  • 我尝试创建一个包含一个文本字段和按钮的屏幕,并重复“应用程序启动方法中的异常”。第一次我试着从这个问题中解题,但没有奏效: 应用程序启动方法中出现异常 应用程序启动方法javafx gui中出现异常 我使用Java11、JavaFX11。对于javaFx,我使用Maven。 主要的类别是: FXML文件为: