gpt4 book ai didi

spring - Spring Cloud Contract org.junit.ComparisonFailure:预期:<[200]>,但在运行测试时为:<[401]>

转载 作者:行者123 更新时间:2023-12-03 05:43:09 26 4
gpt4 key购买 nike

我需要将基于Maven的Spring Cloud Contract 2.0.0.RELEASE依赖关系转换为基于Gradle的程序。这是pom.xml。

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<spring-cloud-contract.version>2.0.0.RELEASE</spring-cloud-contract.version>
</properties>

<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Edgware.SR4</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-contract-verifier</artifactId>
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.projectreactor</groupId>
<artifactId>reactor-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>

<plugin>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-contract-maven-plugin</artifactId>
<version>${spring-cloud-contract.version}</version>
<extensions>true</extensions>
<configuration>
<packageWithBaseClasses>com.globallogic.springfluxdemo.cdc</packageWithBaseClasses>
<testMode>EXPLICIT</testMode>
</configuration>
</plugin>
</plugins>
</build>

但是使用gradle init我已经将maven项目转换为gradle一个。但是,效果不佳。后来我在build.gradle中添加了合约插件。这是build.gradle。
apply plugin: 'io.spring.dependency-management'
apply plugin: 'spring-cloud-contract'


dependencyManagement {
imports {
mavenBom 'org.springframework.cloud:spring-cloud-dependencies:Edgware.SR4'
}
}


contracts {
testMode = "EXPLICIT"
baseClassForTests = 'com.startwithjava.springwebfluxcontract.cdc'
}
}

在契约(Contract)Groovy DSL中
import org.springframework.cloud.contract.spec.Contract

Contract.make {
description "Get Person Object"
request {
method GET()
url value("/mono")
headers {
contentType(applicationJson())
header('''Accept''', '''application/json''')
}
}
response {
status 200
bodyMatchers{
jsonPath('$.id', byType())
jsonPath('$.name', byType())

}
headers { contentType(applicationJson()) }
body (''' {
"id": 1,
"name": "Raj"
}''')
}
}

但是在gradle构建时面临问题,它说401状态返回而不是200。

最佳答案

契约(Contract)下的baseClassForTests有一些配置错误。我已经放置了包而不是类名。

contracts{
testMode = 'EXPLICIT'
baseClassForTests = 'com.startwithjava.springwebfluxcontract.cdc.PersonRestBase'
}

关于spring - Spring Cloud Contract org.junit.ComparisonFailure:预期:<[200]>,但在运行测试时为:<[401]>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51577264/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com