我想测试一个方法(CRUD方法,将所有对象列为Iterable)
@RequestMapping(method = RequestMethod.GET)
@ResponseStatus(value = HttpStatus.OK)
public ResponseEntity<Iterable<Tag>> findAllTags() {
return ResponseEntity.ok(tagRepository.findAll());
}
我的测试(我创建了一个列表(或者说是可迭代的)标签,并想测试我希望得到的列表是否是我的实际标签列表)
@Test
public void findAllTags() {
//GIVEN
Iterable<Tag> newTag = TagTestBuilder
.list()
.saved()
.build();
//WHEN
ResponseEntity<Iterable> response = restTemplate.getForEntity(TagResourceConstants.PATH, Iterable.class, newTag);
Iterable<Tag> body = (Iterable<Tag>) response.getBody();
Tag next = body.iterator().next();
//THEN
assertEquals(HttpStatus.OK.value(),response.getStatusCodeValue());
// assertEquals(content().contentType(Json), response.getHeaders());
// assertEquals(newTag, response);
// assertThat(newTag, is(response));
// assertThat(newTag, contains(response.getBody()));
// assertThat(newTag, not(IsEmptyCollection.empty()));
assertThat(newTag, Matchers.contains("id=1000, cpe=cpe111, itemId=Some Item Id, serialNumber=Some Serial Number, locationType=SomeLocation Type, locationId=Some Location Id, ");
我尝试了比上面更多的方法,但没有任何成功:/不知道如何测试可迭代 - 因为没有传递任何断言方法。任何人都有任何想法或可以向我解释它应该如何运作?