问题标签 [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 回答
1072 浏览

java - Spring Boot 测试未从 src/main/resources 中获取 hbm.xml 文件

我们有一个关于 spring-boot 版本 1.5.2.RELEASE 的项目。

我们需要在 xml 中处理 hibernate 命名查询(java 注释中的命名查询不是我们的选择)。

为此,我们hbm.xml在目录中添加了所有文件(包含这些命名查询)src/main/resources

当我们的应用程序运行时,这不是问题。命名查询被正确提取。

但是,当我们编写集成测试用例时,它无法识别命名查询。

我们得到:

未找到命名查询异常

下面是我们的测试用例代码:

如果我们将hbm.xml文件复制到 中src/test/resources directory,则hbm.xml文件会被正确拾取并且测试会正确运行。

无论如何,xml文件是直接从src/main/resouces文件夹中提取的,我们不必复制这些文件吗?

0 投票
2 回答
1202 浏览

spring-boot - 使用@SpringBootTest 时的空指针

我正在使用弹簧靴 1.4,

当使用 @SpringBootTest 注解进行集成测试时,它会给出一个空指针。

对于主要课程:

然后在我的控制器中:

你好服务

但是在处理请求时,它会在 helloService 时说 NullPointException。

我错过了什么?

0 投票
0 回答
93 浏览

spring-security - 在集成测试中模拟哪个类来绕过 Springboot 安全性

在这里创建一个 TestConfiguration 对我来说似乎不正确。凭据应该在“application.yml”中,并且应该已经模拟了身份验证调用。请建议编写此测试的更好方法。

0 投票
0 回答
196 浏览

hystrix - 从集成测试中休息 Hystrix

我正在尝试使用 restAssured 和 SpringBootTest 为休息服务“A”编写集成测试,并且 A 服务在 Hystrix 命令中调用另一个服务“B”,我想在每次测试后重置 hystix

我试过了Hystrix.reset();HystrixPlugins.reset();但它不起作用,我猜这个方法必须被称为应用程序代码而不是来自测试

0 投票
0 回答
678 浏览

spring - 使用 Spring Boot 进行集成测试

我正在使用 spring boot 开发一个 Rest Api。我知道我可以使用像 H2 这样的“测试数据库”进行所有集成测试,并且 spring boot 能够初始化 sql 脚本。

但是,我的应用程序正在使用旧的自制库通过过程访问数据库,我无法重构为 JPA(不幸的是)。

我不认为我可以将数据库和程序设置到 H2 中(因为我使用的是非标准数据库)。

我的问题是:如何在这些条件下测试我的端点?

谢谢

0 投票
0 回答
433 浏览

spring-boot - ControllerAdvice to work with rest-assured

I have a controller advice:

And when testing the exception handler is not working:

It just throws the exception, and the controller advice never captured it.

How can I make rest-assured work with ControllerAdvice in a whole context setup situation.

0 投票
3 回答
2196 浏览

spring - Spring Boot 在测试运行期间不注册 HttpMessageConverter

我正在运行一个 Spring Boot 应用程序,并且我已经注册了一个新的HttpMessageConverter名为CsvCompactVenueHttpMessageConverter,这是它的代码:

它扩展AbstractHttpMessageConverter并注册为 class 上的 bean WebConfiguration

然后我有一个名为的休息资源FoursquareResource

当我运行应用程序并调用http://localhost:8080/foursquare/New York NY它时,它工作正常并呈现text/csv响应。

但是当使用 RestAssured 运行测试时,@SpringBootTest我得到一个 HTTP 406 响应(因为我认为它没有正确注册HttpMessageConverterfor text/csv),这里是代码:

}

我不确定为什么在运行 Spring Boot 应用程序时会得到正确的答案,但在作为测试运行时会出现 406 错误。看起来新HttpMessageConverter的没有在测试中注册,但我不明白为什么。谢谢并恭祝安康。

0 投票
0 回答
1121 浏览

java - 嵌入式 mongo (flapdoodle) 在 Spring Boot 1.5 中不启动

我正在尝试从 Spring Boot 升级1.41.5.2. 据我所知,我已遵循更新指南。

实际上有两个问题,主要的一个与嵌入式mongo有关:

EmbeddedServletContainerFactory 现在必须显式创建

在测试配置类中,我必须添加:

我以前不必这样做。我必须包含它,因为当我运行测试时它给了我这个错误:

Caused by: org.springframework.context.ApplicationContextException: Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean.

嵌入式 Mongo 无法启动

现在我得到这个错误:

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'embeddedMongoServer' available

不知道我应该在哪里添加这个 bean(以及为什么我应该添加它)

我目前的设置

我有多个扩展测试,BaseIT开始是这样的:

Mongo配置类:

测试配置类:

0 投票
0 回答
124 浏览

spring-boot - 如何在 Spring Boot Junit 中加载 web.xml 中定义的监听器类

我有 Spring Boot 1.2.4 Web 应用程序。

我在中定义了一个侦听器web.xml。我正在为我的应用程序编写 Junit;此侦听器将具有日志记录框架初始化程序。但是我的 Junit 在运行 Junit 时没有加载这个监听器类。

如何web.xml在 Junit 类中引用监听器。

0 投票
1 回答
3805 浏览

spring-boot - 如何在所有测试之前启动服务器并在所有测试之后停止?

我想在所有测试之前启动服务器一次,然后在所有测试执行后关闭服务器。

在 Spring Boot 1.3 中,我可以创建一个@Componentwith@PostConstruct在执行测试之前启动服务器一次,然后在执行@PreDestroy所有测试后停止服务器。

升级到 Spring Boot 1.5 后,在每个@PostConstruct方法之前调用。每次都被调用,但只有在所有测试都执行之后! @Test@PreDestroy @Test

发生了什么变化和/或我现在应该如何做?