断言等于集成测试可迭代

时间:2018-06-08 07:12:53

标签: spring assert iterable

我想测试一个方法(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, ");

我尝试了比上面更多的方法,但没有任何成功:/不知道如何测试可迭代 - 因为没有传递任何断言方法。任何人都有任何想法或可以向我解释它应该如何运作?

0 个答案:

没有答案