问题描述
我正在放心,并根据各种互联网文章来研究一些示例。
使用Maven进行构建。为了放心测试,我添加了pom
<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>
在控制器代码中
@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"));
}
}
运行测试结果
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的行。 如果我将网址更改为“ / fred”,则会得到
可以理解为/ fred的java.lang.AssertionError:1个期望失败。预期状态码 ,但。 在 com.company.bikes.RestAssuredBikesTest.getModelOfFirstBicycle(RestAssuredBikesTest.java:45)
在控制器中不存在。
有什么想法我做错了吗?
关于, 约翰
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)