Spring Cloud Contract - ContractVerifierTest - не может найти символ

Небольшой вопрос по контракту Spring Cloud, пожалуйста.

Я пытаюсь написать базовый контракт для моей конечной точки работоспособности Spring Actuator.

Это проект Spring Webflux 2.4.1 с JUnit 5 Jupiter 5.7.0, где я являюсь сервером (я предоставляю своим клиентам конечную точку работоспособности привода, поэтому я хочу написать контракт).

Поэтому я импортировал банку актуатора и верификатор контракта:

            <artifactId>spring-boot-starter-actuator</artifactId>
            <artifactId>spring-cloud-starter-contract-verifier</artifactId>

Я только что написал один простой контракт в своей папке ресурсов, удалив все остальное:

request:
  method: GET
  url: /actuator/health
  headers:
    Content-Type: application/json
response:
  status: 200

При запуске mvn clean install я получаю:

target/generated-test-sources/contracts/org/springframework/cloud/contract/verifier/tests/ContractVerifierTest.java:[3,17] cannot find symbol
  symbol:   class Test
  location: package org.junit

target/generated-test-sources/contracts/org/springframework/cloud/contract/verifier/tests/ContractVerifierTest.java:[4,17] cannot find symbol
  symbol:   class Rule
  location: package org.junit

target/generated-test-sources/contracts/org/springframework/cloud/contract/verifier/tests/ContractVerifierTest.java:[15,10] cannot find symbol
  symbol:   class Test
  location: class org.springframework.cloud.contract.verifier.tests.ContractVerifierTest

Подскажите, пожалуйста, в чем может быть причина и как это исправить?

Спасибо


person PatPatPat    schedule 04.01.2021    source источник


Ответы (1)


Очевидно, вы выбрали последнюю версию Boot, а не последнюю версию Spring Cloud Contract, которая предполагает, что вы используете JUnit5, и ваш импорт показывает, что вы создаете тестовый класс JUnit4. Либо установите для свойства testFramework значение JUNIT5, либо перейдите на последний подключаемый модуль Spring Cloud Contract 3.0.0, который по умолчанию использует JUNIT5.

person Marcin Grzejszczak    schedule 05.01.2021
comment
Оба решения сработали. Большое спасибо, Марчин. - person PatPatPat; 05.01.2021