问题标签 [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.
java - 使用 TestHazelcastInstance 测试 HazelcastClient
有一个基于 spring-boot 的 hazelcast 微服务,它通过HazelcastClient
.
考虑到集群是使用 ? 模拟的,编写集成测试的过程是TestHazelcastInstance
什么?
尝试创建一个@TestConfiguration
提供 的配置类TestHazelcastInstance
,但在这种情况下,另一个配置类HazelcastConfig
(提供客户端)似乎没有执行,导致客户端实例没有被实例化。
有什么见解吗?
应用程序.java:
HazelcastConfig.java(提供客户端):
AppTest.java,有问题的测试:
TestConfig.java,提供TestHazelcastInstance
java - Spring Boot集成测试在一个接一个运行时失败
我有一个 Spring Boot 集成测试和一个 Spring Boot Web 集成测试。两个测试在单独运行时都通过。但是,当作为套件的一部分运行时,第二个执行的测试总是失败。每个测试都会启动(并拆除)我的应用程序,进而启动我的h2
数据库。我已经尝试过交换测试的顺序,并且总是后一个测试失败。
我能做些什么来确保这些测试是独立的/不会相互影响?
注意:我使用类注释@RunWith(SpringRunner.class)
和@SpringBootTest
两个测试,Web 集成测试将参数传递webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT
给后一个注释。
集成测试:
网络集成测试:
spring-boot - 测试 Spring Boot 身份验证令牌和 CSRF 安全性
我已经将我的 SpringBoot 应用程序配置为使用身份验证令牌和 CSRF 令牌进行身份验证:
这意味着我可以使用 curl 来获取 auth 令牌和 csrf 令牌:
然后使用它们调用服务上的其他方法:
这完全符合预期,但我想在 SpringBoot 中编写一个自动化测试来做同样的事情。我可以得到 csrf 令牌:
但不是身份验证令牌,我只是得到空值。我可以将 csrf 令牌插入后续调用:
但是,它当然无法进行身份验证。关于如何完成这项工作的任何建议?
junit - 如何为 Junits 模拟 applog
实际上,我正在使用@Autowired AppLog
.
并使用this.applog.logInfo("field",+object.getFieldName())
,他们正在尝试打印值。
我不知道如何嘲笑这件事。
我已经在使用@RunWith(SpringRunner.class)
.
powerMock 在这种情况下可以提供帮助吗?如果有人可以提供帮助,我将不胜感激。
spring - SpringBootTest with MockBean is not returning what I expect
Versions:
Application Main:
My Service Interface:
My Service Implementation:
My Test class:
Expected Output: I am greater than epic Actual Output: null
I simply want to replace the bean instance in the context with a mock that will return "I am greater than epic". Have I misconfigured something here?
java - Spring Boot 应用程序从 JUnit 测试启动,但无法通过 URL 访问
我有一个 JUnit 测试来启动我的 spring boot appcliation (Application.java)。
如果我运行 JUnit 测试,应用程序已成功启动,但无法通过 url 访问
应用程序日志:
当我尝试通过 url ' http://localhost:8080/process ' 访问应用程序时,它说无法访问站点。
java - 从 Junit Test 运行时,Spring Boot 应用程序抛出异常
我有一个 Spring Boot 应用程序,它在从 JUnit 测试运行时抛出一些异常“java.lang.IllegalStateException:无法加载 TestContextBootstrapper [null]”。
pom.xml:
由于这个 pom.xml 有不同的 spring 版本,如 spring 4.2.5.RELEASE 和 spring-boot 1.4.2.RELEASE,当它从 JUnit Test 运行时会抛出异常:
JUnit 日志:
关于spring和spring-boot之间的版本匹配有什么建议吗?
java - Spring Boot 的执行器端点在测试期间不可用
我有一个包含执行器的 Web 应用程序,该执行器在上下文路径/manage下公开,并且仅通过 spring 安全集成提供给具有角色“管理员”的用户。事实上,该应用程序确实按预期工作。但是,我正在努力测试 Web 应用程序,即使用 Spring Boot 的工具编写集成测试。
运行一个像下面这样加载弹簧上下文的测试,我注意到执行器端点没有注册。
日志文件片段
application.properties 中的相关片段如下所示。
有人可以帮助我,让我知道我在这里做错了什么以及如何解决被拒绝的 bean-name 问题以继续进行吗?
就我而言,弹簧靴和执行器的版本是1.5.2.RELEASE。
java - 与@Transactional JUnit 测试一起使用时,@Temporal 注释不起作用
我使用 Spring Boot 和 Oracle 11g 进行了简单的 CRUD 操作,我的实体类如下所示:
我的 JUnit 看起来像
最后一个 log.info 在使用 @Transactional 注释运行时会抛出 NullPointerException,但否则工作正常,并且 DB 会填充预期值。
这是 @Transactional 的行为方式还是 Hibernate 没有在事务性 JUnit 中为 Dates 插入任何值?
spring-boot-test - spring boot 单元测试活动配置文件
spring bootmain
使用mysql
inapplication.properties
和test
使用h2
in application-ut.properties
。但是,在运行测试时,在控制台中会显示active profile: ut
,但test
仍使用datasource application.properties
. 一旦我删除application.properties
测试将使用h2
.
测试:
聚甲醛:
应用程序-ut.properties:
应用程序属性:
控制台: