运行SpringBootTest时访问H2控制台

2024-05-26

如果我正在运行测试@SpringBootTest有什么办法可以访问H2控制台吗?我有一个访问 H2 数据库(成功)的测试,但如果我想自己检查数据库,我该怎么做?

我首先运行测试webEnvironment=DEFINED_PORT and http://localhost-8080.com/ http://localhost:8080/响应 HTTP,但没有任何响应http://localhost:8080/h2-console/ http://localhost:8080/h2-console/仍然返回 404。

我尝试通过添加值来显式打开控制台application.properties:

spring.h2.console.enabled=true
spring.h2.console.path=/h2

这似乎没有什么效果。仍然是 404/h2-console and /h2.

H2控制台似乎是通过自动配置进来的,所以我使用打开了自动配置报告-Ddebug,我可以看到,尽管 application.properties 中启用了启用标志,但它被视为关闭:

H2ConsoleAutoConfiguration: 
      Did not match:
          - @ConditionalOnProperty (spring.h2.console.enabled=true) did not find property 'enabled' (OnPropertyCondition)
      Matched:
         - @ConditionalOnClass found required class 'org.h2.server.web.WebServlet'; @ConditionalOnMissingClass did not find unwanted class (OnClassCondition)
         - found WebApplicationContext (OnWebApplicationCondition)

似乎某种机制正在覆盖该值或忽略来自的值application.properties运行测试时。

Spring Boot Test 不启动控制台吗?有什么办法可以说服它这样做吗?


好的,我可以使用以下注释(在 Kotlin 中)让它显示:@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT, properties = arrayOf("spring.h2.console.enabled=true"))

即使这样,控制台仍然处于/h2-console,所以它显然也忽略了控制台路径。我大概可以通过添加另一个属性来控制它。

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

运行SpringBootTest时访问H2控制台 的相关文章

随机推荐

  • 在 HTML5 中设置视频高度

    也许这是一个简单的问题 但它真的让我发疯 我只想设置 HTML5 视频的高度和宽度 我正在使用这段代码
  • 如何在codeigniter中将数据写入.txt文件

    我的资产中有一个文件夹名称是login 我的疑问是如何设置路径 data id expense type amount exp date br todate date Y m d echo todate if write file asse
  • HTML5 最佳实践;节/标题/旁白/文章元素[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 网络上 以及 stackoverflow 上 有足够的有关 HTML5 的信息 但现在我对 最佳实践 感到好奇 像节 标题 文章这样的标签是新的
  • 深入研究 JS 中的原型 [重复]

    这个问题在这里已经有答案了 我一直在尝试理解 JS 中原型的概念 但由于某种原因我发现它真的令人困惑 为什么以及何时使用原型 这有什么区别 从这个MDN 示例 https developer mozilla org en US docs J
  • Laravel 无法连接 Oracle

    我在用着耶吉拉 laravel oci8 https github com yajra laravel oci8用于 Oracle 与 Laravel 的连接 但我无法从客户端 PC 连接到 Oracle 服务器 showing this
  • ggplot2 中列组合的分面图

    我正在做相关性的组合 并且想在 ggplot2 中绘制每个组合 然而 我希望每个组合都在一个单独的面板上 而不是一个面板上的所有点 making up columns in my real data I m doing correlatio
  • 提供常量

    Provide 在 RC4 中已被弃用 以前 我可以这样做 provide API URL useValue address 我正在尝试这样的事情 provide API URL useValue address 但这不起作用 我找到了几个
  • 如何持久保存另一个应用程序提供的PendingIntent

    假设我想实现一个向其他应用程序公开服务的应用程序 例如 Google Play 服务 潜在的应用程序将注册与我的服务相关的特殊事件 并会在正确的时间收到通知 我正在考虑像 Google 对 Google Play 服务所做的那样来实现这一点
  • 如何显示证书的主题备用名称?

    我发现的最接近的答案是使用 grep gt openssl x509 text noout in cert pem grep DNS 有更好的方法吗 我只喜欢命令行 Thanks 较新版本的 openssl 有一个 ext 选项 允许您仅打
  • 从“Google 我的商家”获取 PHP 格式的营业时间

    我需要一些 PHP 代码来从我的 google 我的商家列表中提取我的营业时间 这在我的本地计算机上有效 但当我实时推送网站时不起作用 此代码停止我的 css 渲染并且不加载任何其他内容
  • php - 当存在 CDATA 时,将 xml 转换为 json 不起作用

    如果我使用以下php代码来转换xml to json I get Company fcsf Details n fgrtgrthtyfgvb n 但是 如果我使用CDATA in the Details元素如下
  • window.top.document.body.scrollTop 在 Chrome 或 FireFox 中不起作用

    我有下面的代码将打开一个模式窗口 这适用于 IE 8 但不适用于 Chrome 或 FF 我是跨浏览器功能领域的新手 function ShowModal WindowID FramesetID window onscroll functi
  • 如何使用带有“transfer-encoding: chunked”的 winhttp api

    我正在尝试将一些数据发送到需要 传输编码 分块 标头的网络服务 它可以很好地处理普通的 POST 请求 但一旦我添加标题 我总是会得到 由于以下情况 内容无法交付 收到客户端的无效请求 这是发送请求的部分 std vector
  • 不同保护条件下的状态转换

    在状态模式中这是如何建模的 当当前状态为 A 时 在触发器 X 和条件 C1 上状态 A 到状态 B 当当前状态为 A 时 在触发器 X 和条件 C2 上状态 A 到状态 C 这通常是如何实现的 我有很多可能需要实施的守卫条件 这是相当标准
  • Android Google Cloud Messaging (GCM) 和不匹配的发件人 ID

    我正在尝试在我的 Android 应用程序中使用 GCM 服务 为此 我使用了 android 文档http developer android com guide google gcm gcm html http developer an
  • 如何从前端使用 AWS CloudWatch Logs 提交简单日志?

    经过大约 1 小时的搜索 我没有找到任何有关 如何向 AWS CloudWatch Logs 提交简单日志 的信息从前端侧 几乎所有示例都是针对 Node js 的 但我需要从前端提交错误 而不是从后端提交错误 我什至没有找到应该用于前端的
  • 具有自定义集合属性的 JPA 投影

    我们正在使用 Spring Data 并尝试使用子查询创建自定义查询 结果投影有一个数组和其他属性 我们的问题在于子查询数组 public interface ProfesionalRepository extends JpaReposit
  • 安排复杂功能更新

    我在 Apple Watch 上有一个自定义复杂功能 我试图每小时更新一次 它应该每小时 ping 一个 API 端点 如果数据自上次检查以来发生了变化 则应更新复杂性 这是我目前所拥有的 似乎只有一次的效果 当它起作用时 它确实会 pin
  • Mojolicious:我应该使用一个还是多个 websocket?

    我正在自学 Mojolicious 和 websockets 到目前为止 我已经有了一个网页 它显示数据库中的行 并具有用于添加 删除和更新行以及选择用于排序的列的按钮 目前 它在每个按钮的 javascript onclick 处理程序中
  • 运行SpringBootTest时访问H2控制台

    如果我正在运行测试 SpringBootTest有什么办法可以访问H2控制台吗 我有一个访问 H2 数据库 成功 的测试 但如果我想自己检查数据库 我该怎么做 我首先运行测试webEnvironment DEFINED PORT and h