我在 Gradle 文件中添加了 Spring 启动测试依赖项,作为
testCompile group: 'org.springframework.boot', name: 'spring-boot-starter-test'
ext['mockito.version'] = '2.7.5'
仍然无法使用@WebIntegrationTest
,如果我尝试添加 Intellij,它会显示红色。我的应用程序中应该包含什么,以便能够使用@WebIntegrationTest
测试 REST API?
我能够用不同的方法测试它,但只是无法理解它失败的原因
仍然无法使用@WebIntegrationTest,如果我尝试,它会显示红色 以添加智能。
正如您所说,您有 springboot 1.5.1 版本,WebIntegrationTest
类已从 1.4 弃用,取而代之的是SpringBootTest
.
下面是上面支持的javadocs。
- @since 1.2.1 * @see IntegrationTest * 自 1.4 起@deprecated,支持* {@link org.springframework.boot.test.context.SpringBootTest} with * {@code webEnvironment=RANDOM_PORT} 或 {@code webEnvironment=DEFINED_PORT}。 */@Documented @Inherited @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) @BootstrapWith(WebAppIntegrationTestContextBootstrapper.class) @Deprecated 公共@interface WebIntegrationTest {
你在这里有两个选择,
- 放弃
WebIntegrationTest
类,开始使用SpringBootTest
- 将 springboot 版本降级到 1.4.0 并使用
WebIntegrationTest
(不推荐)
这是 1.4.0-M2 发行说明的链接,解释了WebIntegrationTest
希望这有帮助!
这些已弃用的注释
@SpringApplicationConfiguration(classes = arrayOf(BootApplication::class))
@WebIntegrationTest("server.port=8081")
在 Spring 引导 1.5+ 中相当于
@SpringBootTest(classes = arrayOf(BootApplication::class), properties = arrayOf("server.port=8081"))
@WebAppConfiguration
从
org.springframework.boot.test.WebIntegrationTest
Javadoc (Focus mine)
此批注可用作@IntegrationTest和@WebAppConfiguration的替代方法。自:1.2.1