如何使用Spock在groovy中编写RestTemplate.put()

时间:2015-08-31 06:10:37

标签: groovy integration-testing spock

我在groovy中使用spock编写集成测试用例。我们使用restTemplate来调用操作,例如像

$query=<<< SQL
update users set job_quota=job_quota-1 if ( job_quota !=0 )
else update buy_bids set no_bids =no_bids-1 where user_id=53
SQL;

我已经为POST和GET编写了集成测试,但现在当我为PUT编写它时,我在实体对象

上获得空指针异常

我已经为PUT写了这个,我知道put操作将为null,但我没有其他任何方式,有人可以帮助我

when:
String url="http://localhost:$port/user/password"
ResponseEntity<ResponseWrapper<User>> entity=restTemplate.postForEntity(url,changePasswordDTO,ResponseWrapper.class)

then:
    entity.statusCode == HttpStatus.OK
    entity!=null

1 个答案:

答案 0 :(得分:0)

我看到这是一个很老的帖子但是没有答案就离开了。 restTemplate.put是一种void方法,因此您无法从中获得回调。

您应该使用restTemplate.exchange,因为您将得到一个ResponseEntity对象。

检查this post