问题标签 [spring-boot-test]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
549 浏览

spring-boot - 使用 Spring Security 测试 Spring Boot 时获取 http 404

TLDR: spring boot test 找不到使用 spring security 定义的 url 端点

很长的故事:

我的 SpringBoot 应用程序使用 Spring Security。

在其安全上下文中,它定义:

我的测试代码被初始化为 SpringBoot 测试:

我的测试向 /api/login 发送 POST 请求,虽然我希望 a被返回401,但 a404被返回。

为什么找不到/api/login

0 投票
2 回答
3343 浏览

spring-boot - 如何在 Springboot 应用程序中测试 @HystrixCommand 后备方法

我在我的方法中使用@HystrixCommand 如下

但我无法测试回退方法?在我的测试中没有调用回退方法。我想我没有正确设置测试。测试回退方法的更好方法是什么?

0 投票
2 回答
1590 浏览

spring - 为什么spring boot的DataJpaTest会扫描@Component

确信这没有被问到,但是通过阅读 Spring 文档和测试实用程序,我发现了这个注释并认为我会开始使用它。阅读我读到的细则:

常规 @Component bean 不会加载到 ApplicationContext 中。

这听起来不错,我什至喜欢使用 H2 的想法,除了我发现我想使用的实体有目录和模式修饰符,而默认的 H2 我不知道如何支持它。我为测试分支创建了一个 H2 数据源并使用它并覆盖替换。我结束了

但是我的测试失败了原因:org.springframework.beans.factory.NoSuchBeanDefinitionException:没有符合条件的bean类型。这导致:创建名为“customerServiceImpl”的 bean 时出错:依赖关系不满足。

然而 customerServiceImpl 是这个 bean:

那就是@Component。DataJpaTest 的细则说它不加载@Components。为什么它会这样做并因此未能通过测试?

正如凯尔和尤金在下面问的那样,剩下的就是:

为了澄清这个问题,为什么@Component 被加载到@DataJpaTest 中的上下文中?

0 投票
1 回答
1304 浏览

spring - 使用 spring-webflux 时 WebTestClient 不起作用

我通过 Spring boot 2.0.0.M3 使用 Spring webflux。下面是我的项目的依赖项,

该应用程序通过./gradlew bootRun或直接运行主应用程序运行良好。

但是由于以下错误,我未能开始集成测试。

引起:org.springframework.boot.web.server.WebServerException:无法启动嵌入式Tomcat

我想知道为什么WebTestClient仍然尝试使用嵌入式 tomcat,即使我们使用的是默认使用响应式网络的 webflux。

是弹簧启动测试的配置错误还是错误?

下面是我的测试用例的代码片段,

0 投票
1 回答
420 浏览

asynchronous - @DataJpaTest 和 @Async CRUDRepository 方法不能一起工作

我目前正在实现一些@Async与 spring-boot 一样的存储库方法,当我实际启动应用程序时,它的工作方式与它应该的一样,但是在运行集成测试时,事情开始变得很奇怪。

我已经设置了一个展示问题的小项目。

存储库:

应用:

还有我的测试用例:

我的结果:

expected == the object (good)

result == null (bad)

如果我@Async在存储库的类级别启用,结果会翻转。

如果我在调用target.save(m)两者之后进一步使测试睡眠expected并且resultnull

有人对可能出现的问题有任何建议吗?我是否缺少某些东西(例如用于测试目的的注释?)。

同样,当我启动应用程序并对我的控制器进行休息调用时,一切正常。

0 投票
2 回答
4686 浏览

spring-boot - 将应用程序类型设置为响应式时启动spring boot集成测试失败

我有一个通过 Spring boot 2.0.0.M3 使用 Spring Webflux 的应用程序。

应用程序在运行时设置为REACTIVE类型。

如果运行主应用程序,反应式应用程序可以正常工作。但我未能在我的 Spring Boot 集成测试中启动这个应用程序。

我宣布测试如下,

运行测试用例时出现以下错误,

java.lang.IllegalStateException:无法加载 ApplicationContext

intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:51) 在 com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242) 在 com.intellij.rt.execution。 junit.JUnitStarter.main(JUnitStarter.java:70) 原因:org.springframework.context.ApplicationContextException:无法启动反应式网络服务器;嵌套异常是 org.springframework.context.ApplicationContextException:由于缺少 ReactiveWebServerFactory bean,无法启动 ReactiveWebApplicationContext。在 org.springframework.boot.web.reactive.context.ReactiveWebServerApplicationContext.onRefresh(ReactiveWebServerApplicationContext.java:64) 在 org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543) 在 org.springframework.boot。由于缺少 ReactiveWebServerFactory bean,无法启动 ReactiveWebApplicationContext。 在 org.springframework.boot.web.reactive.context.ReactiveWebServerApplicationContext.getWebServerFactory(ReactiveWebServerApplicationContext.java:103) 在 org.springframework.boot.web.reactive.context.ReactiveWebServerApplicationContext.createWebServer(ReactiveWebServerApplicationContext.java:87) 在 org.springframework .boot.web.reactive.context.ReactiveWebServerApplicationContext.onRefresh(ReactiveWebServerApplicationContext.java:61) ... 44 更多

使用 webflux 运行 spring boot 集成测试是否有任何配置问题?

您可以从这里访问完整的演示项目。

0 投票
1 回答
907 浏览

java - Spring Boot 2 M3 - MyBatis 1.3.0 - 测试 - 需要属性“sqlSessionFactory”或“sqlSessionTemplate”

仅在运行测试类时遇到以下错误。这仅适用于 Spring Boot 2(目前为 M3),而 Spring Boot 1.5.3 则可以。MyBatis 1.3.1-SNAPSHOT 似乎不可用/未发布,所以我使用 1.3.0。

此外,到目前为止,使用 JNDI 查找启动外部 Tomcat 时没有问题:映射器和 bean 加载正常。

构建.gradle

应用程序.java

应用程序属性

application-local.properties(在本地部署中获取)

ApplicationTests.java

application-test.poperties(启动测试时获取)

切换到 Spring Boot 2 时,此配置有什么问题?

项目将很快在 Github 上可用。

0 投票
3 回答
12268 浏览

spring-boot - 如何在 Mockito 测试中修复 RestTemplate.exchange 的空值响应?

我的服务类在下面,然后是它的测试 -

测试类:在下面的测试类中,我在调试时看到 ResponseEntity 对象为空,这会导致 NPE。

当我调试测试时,我在主服务类的以下行中获得了 responseEntity 的空值 -

0 投票
1 回答
1467 浏览

spring - 带有嵌入式 Mongo 的 Spring Boot:无法分配请求的地址:JVM_Bind

我正在尝试为带有嵌入式 Mongo 和 Kafka 的 Spring Boot 设置 JUnit 测试:-

src/test/resources/application.yml :-

问题

我在这里做错了什么?

版本:-

0 投票
2 回答
579 浏览

spring-boot - 如何在 Spring Boot @DataJpaTest 中测试域事件?

我正在使用https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#core.domain-events中所述的 Spring Data JPA 域事件。事件侦听器标有@Service。当我运行它时它运行良好,但是在使用@DataJpaTest. 如果我将其替换为@SpringBootTest,则测试运行完美。

我知道@DataJpaTest不会加载@Service。但即使我添加@Import(MyService.class),这仍然行不通。我的问题如何在@DataJpaTest不加载完整上下文的情况下测试域事件@SpringBootTest