请放心-获取网址时出现NullPointerException

问题描述

我正在放心,并根据各种互联网文章来研究一些示例。

使用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”,则会得到

java.lang.AssertionError:1个期望失败。预期状态码 ,但。 在 com.company.bikes.RestAssuredBikesTest.getModelOfFirstBicycle(RestAssuredBikesTest.java:45)

可以理解为/ fred的

在控制器中不存在。

有什么想法我做错了吗?

关于, 约翰

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)