@WebIntegrationTest包含哪个版本的 spring boot,在添加时它在 Intellij 中显示为红



我在 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 {

你在这里有两个选择,

  1. 放弃WebIntegrationTest类,开始使用SpringBootTest
  2. 将 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

相关内容

  • 没有找到相关文章

最新更新