问题标签 [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.
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
?
spring-boot - 如何在 Springboot 应用程序中测试 @HystrixCommand 后备方法
我在我的方法中使用@HystrixCommand 如下
但我无法测试回退方法?在我的测试中没有调用回退方法。我想我没有正确设置测试。测试回退方法的更好方法是什么?
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 中的上下文中?
spring - 使用 spring-webflux 时 WebTestClient 不起作用
我通过 Spring boot 2.0.0.M3 使用 Spring webflux。下面是我的项目的依赖项,
该应用程序通过./gradlew bootRun
或直接运行主应用程序运行良好。
但是由于以下错误,我未能开始集成测试。
引起:org.springframework.boot.web.server.WebServerException:无法启动嵌入式Tomcat
我想知道为什么WebTestClient仍然尝试使用嵌入式 tomcat,即使我们使用的是默认使用响应式网络的 webflux。
是弹簧启动测试的配置错误还是错误?
下面是我的测试用例的代码片段,
asynchronous - @DataJpaTest 和 @Async CRUDRepository 方法不能一起工作
我目前正在实现一些@Async
与 spring-boot 一样的存储库方法,当我实际启动应用程序时,它的工作方式与它应该的一样,但是在运行集成测试时,事情开始变得很奇怪。
我已经设置了一个展示问题的小项目。
存储库:
应用:
还有我的测试用例:
我的结果:
expected == the object (good)
result == null (bad)
如果我@Async
在存储库的类级别启用,结果会翻转。
如果我在调用target.save(m)
两者之后进一步使测试睡眠expected
并且result
是null
有人对可能出现的问题有任何建议吗?我是否缺少某些东西(例如用于测试目的的注释?)。
同样,当我启动应用程序并对我的控制器进行休息调用时,一切正常。
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 集成测试是否有任何配置问题?
您可以从这里访问完整的演示项目。
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 上可用。
spring-boot - 如何在 Mockito 测试中修复 RestTemplate.exchange 的空值响应?
我的服务类在下面,然后是它的测试 -
测试类:在下面的测试类中,我在调试时看到 ResponseEntity 对象为空,这会导致 NPE。
当我调试测试时,我在主服务类的以下行中获得了 responseEntity 的空值 -
spring - 带有嵌入式 Mongo 的 Spring Boot:无法分配请求的地址:JVM_Bind
我正在尝试为带有嵌入式 Mongo 和 Kafka 的 Spring Boot 设置 JUnit 测试:-
src/test/resources/application.yml :-
问题
我在这里做错了什么?
版本:-
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
?