Spring boot 请放心-获取url时出现NullPointerException
我正在研究rest assured,并根据各种互联网文章编写一些示例 使用maven来构建。对于放心的测试,我添加了pomSpring boot 请放心-获取url时出现NullPointerException,spring-boot,rest-assured,Spring Boot,Rest Assured,我正在研究rest assured,并根据各种互联网文章编写一些示例 使用maven来构建。对于放心的测试,我添加了pom <dependency> <groupId>io.rest-assured</groupId> <artifactId>spring-mock-mvc</artifactId> <version>4.3.1</version>
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>spring-mock-mvc</artifactId>
<version>4.3.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>rest-assured-all</artifactId>
<version>4.3.1</version>
<scope>test</scope>
</dependency>
运行测试会导致
org.springframework.web.util.NestedServletException:请求
处理失败;嵌套异常是java.lang.NullPointerException
在
com.company.bikes.RestAssuredBikesTest.getModelOfFirstBicycle(RestAssuredBikesTest.java:42)
原因:java.lang.NullPointerException位于
com.company.bikes.RestAssuredBikesTest.getModelOfFirstBicycle(RestAssuredBikesTest.java:42)
其中第42行是带有url的行。
如果我将url更改为“/fred”,那么我将得到
java.lang.AssertionError:1预期失败。预期状态代码
但是是。
在
com.company.bikes.RestAssuredBikesTest.getModelOfFirstBicycle(RestAssuredBikesTest.java:45)
这是合理的,因为控制器中不存在/fred
你知道我做错了什么吗
问候,,
约翰
@RequestMapping(value = "/api/v1/bicycles/{id}", method = RequestMethod.GET)
public ResponseEntity<Object> getBicycle(@PathVariable("id") long id) {
return new ResponseEntity<>(bicycleService.getBicycle(id), HttpStatus.OK);
}
public class RestAssuredBikesTest {
@Mock
private BicycleService bikeService;
@InjectMocks
private BicycleServiceController bicycleController;
@Before
public void initialiseRestAssuredMockMvcStandalone() {
RestAssuredMockMvc.standaloneSetup(new BicycleServiceController());
}
@Test
public void getModelOfFirstBicycle() {
RestAssuredMockMvc.given()
.when().get("/api/v1/bicycles/1")
.then()
.log().ifValidationFails()
.statusCode(OK.value())
.contentType(JSON)
.body("model", equalTo("civic"));
}
}