gpt4 book ai didi

java - 如何使用 JAVA Rest Assure 修复此错误

转载 作者:太空宇宙 更新时间:2023-11-04 09:26:29 25 4
gpt4 key购买 nike

我正在通过测试构建 Java REST API。 API 运行完美,我没有任何问题。我遇到的错误是在测试部分。

测试使用 Rest Assure 库。

这是测试代码它只是请求 (GET) google.com 并检查响应状态是否为 200。

import org.junit.Test;
import java.util.List;
import static io.restassured.RestAssured.given;

public class DemoApplicationTests {

static List<Integer> usersIds;

@Test
public void someTest(){
given().when().get("http://www.google.com").then().statusCode(200);
}

}

Pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.7.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.hatim.demo</groupId>
<artifactId>hatim</artifactId>
<version>1.1</version>
<name>demo</name>
<description>Demo project for Spring Boot</description>

<properties>
<java.version>1.8</java.version>
</properties>

<dependencies>
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>rest-assured</artifactId>
<version>3.0.0</version>
<scope>test</scope>
</dependency>



<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-all</artifactId>
<version>1.3</version>
<scope>test</scope>
</dependency>

<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13-beta-1</version>
</dependency>

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

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>



</dependencies>

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

</project>

错误

java.lang.NoClassDefFoundError: Could not initialize class org.codehaus.groovy.vmplugin.v7.Java7

java.lang.NoClassDefFoundError: Could not initialize class org.codehaus.groovy.reflection.ReflectionCache

at com.hatim.demo.DemoApplicationTests.someTest(DemoApplicationTests.java:13) <27 internal calls>

当我注释掉这段代码时

given().when().get("http://www.google.com").then().statusCode(200);

错误消失。

如何解决?

最佳答案

此问题目前尚未修复。请参阅this错误报告以获取详细信息。
看来 JDK14 尝试使用 Reflection 从 org.codehaus.groovy.vmplugin.v7.Java7 加载构造函数,但 JDK14 不存在该构造函数。
这也是因为 Java 每 6 个月发布一个新的主要版本!

解决方案可能是将您的主要版本降级到 JDK13,或者降级到受支持的 LTS 版本 until 2026 .
另一种解决方案可能是等到此错误修复。

关于java - 如何使用 JAVA Rest Assure 修复此错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57639406/

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