web-dev-qa-db-ja.com

@WebIntegrationTestが含まれているSpringBootのバージョンは、追加時にIntellijで赤で表示されます

SpringBootテストの依存関係をGradleファイルに追加しました

testCompile group: 'org.springframework.boot', name: 'spring-boot-starter-test'
ext['mockito.version'] = '2.7.5'

それでも@WebIntegrationTestを使用できませんが、Intellijを追加しようとすると、赤色で表示されます。 REST API with @WebIntegrationTestをテストできるようにするには、アプリケーションに何を含める必要がありますか?

別の方法でテストすることはできますが、失敗する理由を知ることができません

8
tyro

それでも@WebIntegrationTestを使用できませんが、intellijを追加しようとすると、赤色で表示されます。

Springboot 1.5.1バージョンを使用しているとのことですが、WebIntegrationTestクラスは1.4から廃止され、SpringBootTestが採用されました。

以下は、上記をサポートするjavadocsです。

  • @since 1.2.1 * @see IntegrationTest * @非推奨* {@ link org.springframework.boot.test.context.SpringBootTest} with * {@code webEnvironment = RANDOM_PORT}または{@codewebEnvironment = DEFINED_PORT }。 */@Documented @Attached @Retention(RetentionPolicy.RUNTIME)@Target(ElementType.TYPE)@BootstrapWith(WebAppIntegrationTestContextBootstrapper.class)@Deprecated public @interface WebIntegrationTest {

ここには2つの選択肢があります。

  1. WebIntegrationTestクラスを捨てて、SpringBootTestの使用を開始します
  2. Springbootバージョンを1.4.0にダウングレードし、WebIntegrationTestを使用します(非推奨)

これが1.4.0の リンク です-WebIntegrationTestの非推奨について説明しているM2リリースノート

お役に立てれば!

11
harshavmb

これらの非推奨のアノテーション

@SpringApplicationConfiguration(classes = arrayOf(BootApplication::class))
@WebIntegrationTest("server.port=8081")

spring Boot1.5 +では同等です

@SpringBootTest(classes = arrayOf(BootApplication::class), properties = arrayOf("server.port=8081"))
@WebAppConfiguration
1
naXa

から

org.springframework.boot.test.WebIntegrationTest

javadoc(私の強調)

このアノテーションは、@ IntegrationTestおよび@WebAppConfigurationの代わりに使用できます。 1.2.1以降

0
Janar