我需要在 JUnit 中重新启动 Spring Boot Web 应用程序

2023-11-24

无需赘述令人痛苦的细节,当我同时运行 Junit 测试时,我遇到了问题。如果我逐个班级运行它们,一切都很棒!否则我会遇到麻烦,因为我无法在 junit-test-class 之间重新启动我的 WebApplication。这导致我的 Web 应用程序中的 Zookeeper 服务器客户端在我在类之间关闭和启动 Zookeeper 服务器后会一直徘徊。这些 Zookeeper 服务器客户端可能需要一段时间才能与服务器重新同步,这会导致不可预测的行为......

有没有办法通过调用 JUnit 测试的 @BeforeClass 和 @AfterClass 方法中的某些内容来重新启动我的 SpringBootServletInitializer 类?

Web应用程序.java

@ComponentScan
@EnableAutoConfiguration
@EnableWebMvc
@EnableHyperMediaSupport(...)
@PropertySources(...)
public class WebApplication extends SpringBootServletInitializer
{
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder)
    {
        return builder.sources(WebApplication.class);
    }

    @Override
    protected WebApplicationContext run(SpringApplication application)
    {
        application.getSources().remove(ErrorPageFilter.class);
        return (WebApplicationContext) application.run();
    }

    public static void main(String[] args)
    {
        SpringApplication.run(WebApplication.class, args);
    }
}

你可以使用@DirtiesContext注解。

这将提示 Spring Test 运行程序重新加载测试方法之间的上下文。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我需要在 JUnit 中重新启动 Spring Boot Web 应用程序 的相关文章

随机推荐

  • iOS 中的应用程序购买收据验证 - 沙箱与生产 url?

    我跟着Ray Wenderlich 的教程在我的应用程序中实现收据验证 该代码直接从我的应用程序连接到 Apple 的验证服务器 而不是通过我自己的服务器 在我向 AppStore 提交第一个二进制文件后 我测试了我的应用程序 但应用程序内
  • 猫头鹰旋转木马无法正常工作,也许我链接的东西不正确?

    我尝试在我的新项目中使用猫头鹰旋转木马 我似乎对此有问题 到目前为止 只有 HTML 和 CSS 可以工作 我不知何故对脚本做了一些错误的事情 有人可以帮我看看并指出我搞砸的正确方向吗 这是该网站的链接 猫头鹰轮播位于网站底部附近 您将看到
  • Java:(new Random()).nextInt(5)总是返回相同的数字吗?

    有时这段代码总是返回相同的数字 有时它工作得很好 new Random nextInt 5 我怀疑问题出在哪里 它可能总是使用相同的种子创建一个新的随机数 那么最好的解决方案是什么 为 Random 创建一个静态变量并 用它来代替 使用 M
  • AVD 管理器不会将我的 HTC Hero 手机检测为虚拟设备

    运行应用程序时 我需要使用手机作为模拟器 目标 虚拟设备 我已安装 HTC Sync 并且 USB 驱动程序正常 我已经在设置中启用了 USB 调试 我还需要做什么才能让 Eclipse AVD Manager 检测我的手机 我按照我现在所
  • 更新 SimpleCursorAdapter 同时保持 ListView 中的滚动位置

    我的问题 每当我通过其 自定义 SimpleCursorAdapter 更新其内容时 我的 ListView 都会将其滚动位置重置到顶部 我希望 ListView 在更新时保持其滚动位置 我首先每次创建一个新的适配器实例并使用ListVie
  • 如何在 JavaFX 控制器中使用 Guice?

    我有一个 JavaFX 应用程序 我想在其中引入 Guice 因为我的代码 现在工厂满了 只是为了测试的目的 我有一个用例 其中我有某个视图的控制器类 这个控制器类有一个视图模型 我通过以下方式将模型传递给视图模型 控制器类的构造函数 在控
  • 使用 Jenkins 在多个环境中按顺序运行作业任务

    我是詹金斯的新手 我正在尝试在单个作业中实现特定场景 以使用 Jenkins 构建移动应用程序 在一项工作中 我想依次启动多个任务 任务 1 Windows gt 任务 2 Windows gt 任务 3 Windows gt 任务 4 M
  • 如何防止数据网格中的行在应用程序运行时闪烁

    在我目前正在开发的应用程序中 我使用 datagridview 来显示数据 要填充它 我必须按一个按钮 后台工作程序将开始运行 它将填充数据表 当它完成运行时 它将使用数据表作为数据网格的数据源 这工作正常 用户界面保持响应等等 但现在我已
  • python 内存不足错误的解决方法有哪些?

    我正在将 x y z 点文件 LAS 读入 python 中 并遇到内存错误 我正在为我正在从事的项目在已知点之间插入未知点 我开始处理小文件 50 000 000 点 现在我的代码因内存错误而失败 处理如此大量的数据有哪些选择 我不必立即
  • 为模式匹配搜索索引 jsonb 数据

    这是以下内容的后续内容 jsonb 键 值的模式匹配 我有一张表如下 CREATE TABLE PreStage transaction transaction id serial NOT NULL transaction jsonb CO
  • 如何将 Map 编码为 Base64 字符串?

    我喜欢将 java 字符串映射编码为单个 Base 64 编码字符串 编码后的字符串将被传输到远程端点 并且可能被不怀好意的人操纵 因此 最糟糕的情况应该是无效的键 值元组 但不应带来任何其他安全风险 Example Map
  • 如何查看哪些插件导致 Vim 变慢?

    有没有办法分析 Vim 插件 当我打开一个大文件时 我的 MacVim 变得越来越慢 py 我知道我可以取消选择所有插件并逐一重新选择以检查哪个插件是罪魁祸首 但是有没有更快的方法 我的 dotvim 在这里 https github co
  • Firefox new Date() 从字符串构造本地时区的时间

    我正在尝试从字符串创建日期对象 我得到 ISO 格式的日期 除了毫秒部分 例如 2012 01 30T16 23 12 当我在 IE Chrome 和 Firefox 中运行以下代码时 结果有所不同 链接到小提琴 currentDate 2
  • PHP - 创建缩略图并保持纵横比

    编辑 这可以在 CSS 中轻松完成 在撰写本文时我对 CSS 不太了解 我使用 PHP 创建了一个缩略图创建器 生成的缩略图应具有相同的大小 但问题是使用上传具有不同纵横比的图像 例如横向或纵向 缩略图会变得难看 所以我创建了上面的图片来进
  • 向 extjs 网格添加工具提示以显示有关该行的完整信息

    I had a gridview 它附加了一个具有一些字段的模型 但在我的网格中 我只显示一个字段 我想要的是当我的鼠标悬停到网格行时 tooltip将出现并显示其他字段值 我怎样才能做到这一点 有人做过这个吗 我应该创建什么网格事件too
  • 其他流的笛卡尔积的流,每个元素作为一个列表?

    如何使用 Java 8 实现一个函数来获取一定数量的流 并生成一个流 其中每个元素都是一个由流的笛卡尔积的一个成员组成的列表 我看过这个问题 这个问题使用了一个聚合器 它是BinaryOperator 取出两个相似类型的物品并生产一个相同类
  • 如何在 WPF 中制作“手风琴小部件”?

    目标 我正在尝试在 WPF 中实现类似的目标 source wordpress org 初步解决方案 目前 我正在尝试使用ItemsControl与ItemTemplate由一个组成Expander 我想要一致的外观Header的一部分Ex
  • “phonegap”未被识别为内部或外部命令

    我正在尝试使用node js 命令行界面安装phonegap 3 1 版本 Phonegap 已安装在计算机上 但我无法使用phonegap 命令 当我列出软件包时 我可以看到phonegap 但无法运行命令来创建项目 系统配置 操作系统
  • 将类添加到 wp_nav_menu 中的 li 元素

    我在 WordPress 中遇到 wp nav menu 问题 我想制作 Li 元素的结构 其中所有元素都有 menu li 类 但这对我不起作用 我在 function php 文件中有这个 register nav menus arra
  • 我需要在 JUnit 中重新启动 Spring Boot Web 应用程序

    无需赘述令人痛苦的细节 当我同时运行 Junit 测试时 我遇到了问题 如果我逐个班级运行它们 一切都很棒 否则我会遇到麻烦 因为我无法在 junit test class 之间重新启动我的 WebApplication 这导致我的 Web