spring云契约-contractverifiertest-找不到符号

jbose2ul  于 2021-06-27  发布在  Java
关注(0)|答案(1)|浏览(578)

关于Spring Cloud合同的小问题。
我正试图为我的spring健康端点写一份基本合同。
它是一个springwebflux2.4.1项目,使用junit5jupiter 5.7.0,我是服务器(我向我的客户机公开了actuator健康端点,因此,我想编写契约)。
因此,我导入了执行器jar和合同验证器:

<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

什么可能是根本原因,以及如何解决它请?
谢谢您

iaqfqrcu

iaqfqrcu1#

显然,您选择的是最新的启动版本,而不是最新的spring云契约版本,该版本假设您使用的是junit5,并且您的导入显示您正在生成junit4测试类。要么设置 testFramework 属性到 JUNIT5 或者迁移到最新的springcloudcontract3.0.0插件,默认情况下使用junit5。

相关问题