我是Spring-Cloud-contract的新手。试图配置我的版本,我得到错误。Spring Cloud Contract中生成的测试失败
这里是我的项目结构
项目
| ==>模块
我有类路径在我的项目的build.gradle
项目生成文件
buildscript {
dependencies {
classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.2.1"
classpath("org.springframework.boot:spring-boot-gradle-plugin:1.5.4.RELEASE")
classpath "org.springframework.cloud:spring-cloud-contract-gradle-plugin:1.1.3.RELEASE"
}
apply from: "$projectDir/gradle/app/springcloud.gradle" //Gradle build file in module
}
模块装配文件中的以下相关
apply plugin: 'groovy'
apply plugin: 'spring-cloud-contract'
apply plugin: 'org.springframework.boot'
dependencies {
//Spring cloud contract dependencies
compile('org.springframework.boot:spring-boot-starter-actuator')
compile('org.springframework.boot:spring-boot-starter-web')
testCompile('org.springframework.boot:spring-boot-starter-test')
testCompile('org.springframework.cloud:spring-cloud-starter-contract-verifier')
testCompile "org.springframework.cloud:spring-cloud-starter-contract-stub-runner"
testCompile "com.jayway.restassured:rest-assured:2.5.0"
testCompile "com.jayway.restassured:spring-mock-mvc:2.5.0"
}
//Spring cloud contract dependency management
dependencyManagement {
imports {
mavenBom "org.springframework.cloud:spring-cloud-dependencies:Dalston.RELEASE"
}
}
我有一个时髦的fi le有一个post请求和一个响应。当我做gradle build
时,测试是自动生成的,但我的构建感觉。
C:\Users\user\Projects\myProject\module\build\generated-test-sources\contracts\org\springframework\cloud\contract\verifier\tests\ContractVerifierTest.java:3: error: cannot find symbol
import com.jayway.jsonpath.DocumentContext;
^
symbol: class DocumentContext
location: package com.jayway.jsonpath
C:\Users\user\Projects\myProject\module\build\generated-test-sources\contracts\org\springframework\cloud\contract\verifier\tests\ContractVerifierTest.java:28: error: cannot find symbol
DocumentContext parsedJson =
JsonPath.parse(response.getBody().asString());
^
我做错了什么?在我使用的版本中是否有任何不匹配?
很有可能您的版本不匹配。请查看此回购https://github.com/spring-cloud-samples/spring-cloud-contract-samples/blob/master/producer/build.gradle与春季云合同样本,并更新您的项目看起来相同 –
我正在将Spring云合同应用于现有项目。看起来项目已经在其依赖项中引导了spring。我将尝试查看依赖关系树来找出冲突。 – vkrams
@MarcinGrzejszczak我的项目使用'springBootversion = 1.4.3.RELEASE',不能更改或升级它。哪个'spring-cloud-contract-gradle-plugin'与这个版本兼容?另外我使用'spring-cloud-dependencies:Camden.SR7'这是否?感谢您的帮助 – vkrams