RestAssured-身体中的对象抛出错误

我通过测试的对象

@Data public class UserRequest { @JsonProperty("name") private final String name; @JsonProperty("surname") private final String surname; @JsonProperty("email") private final String email; @JsonProperty("iaAdmin") private final boolean isAdmin; 

}

比我有它测试

 @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) public class UserControllerIT { @LocalServerPort private int port; @Test public void testIsCreatingNewUser() throws IOException{ given() .when() .body(new UserRequest("asd","sad","asd",false))//.body(TestGenerator.getUserRequest()) .port(port) .post("/user/" + TestGenerator.randomUUID) .then() .statusCode(HttpStatus.SC_CREATED); } 

我有错误:

java.util.ServiceConfigurationError: com.fasterxml.jackson.databind.Module: Provider com.fasterxml.jackson.module.kotlin.KotlinModule could not be instantiated

并在底部的堆栈

 Caused by: java.lang.ClassNotFoundException: kotlin.jvm.internal.DefaultConstructorMarker at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 79 more 

到底是怎么回事?! Kotlin …我使用Java与春季启动V2.0立方米

我自己回答问题。 感谢@Sebastian Duque评论我从http://www.baeldung.com/spring-boot-kotlin添加依赖,它帮助…

 <!--kotlin/ it needs jackson to map objects--> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-stdlib-jre8</artifactId> <version>1.1.2</version> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-reflect</artifactId> <version>1.1.2</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.module</groupId> <artifactId>jackson-module-kotlin</artifactId> <version>2.9.0</version> </dependency> 

但奇怪的是,在Spring Boot v2中Jackson需要Kotlin依赖性…我使用spring-boot启动器的jackson依赖关系,所以我没有包含任何jackson。

如果你使用maven排除spring-boot的依赖关系

 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>2.0.0.M6</version> <exclusions> <exclusion> <groupId>com.fasterxml.jackson.module</groupId> <artifactId>jackson-module-kotlin</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <version>2.0.0.M6</version> <scope>test</scope> <exclusions> <exclusion> <groupId>com.fasterxml.jackson.module</groupId> <artifactId>jackson-module-kotlin</artifactId> </exclusion> </exclusions> </dependency> 

对于其他构建工具,请更新此解决方案