Как я могу проверить, существует ли каждый объект в массиве с указанным свойством c, используя интеграционный тест Spring Junit? - PullRequest
0 голосов
/ 17 марта 2020

Я пишу весенний интеграционный тест для метода в моем классе ресурсов. доступ к методу ресурса возвращает ответ json. Я хотел бы сделать утверждение.

Ниже приведен мой метод тестирования.

@Test
public void testGetPerformanceCdrStatusesByDateRangeAndFrequencyMonthly() throws Exception {
    this.restMvc.perform(MockMvcRequestBuilders.get(
            "/api/performance/cdrStatus?startDate=2019-09-01T00:00:00.000Z&endDate=2019-09-30T23:59:59.999Z&frequency=PER_MONTH"))
            .andDo(print()).andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8_VALUE))
            .andExpect(status().isOk())
               .andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8_VALUE))
               .andExpect(jsonPath("$.histogramDistributionbyCdrStatuses").exists())
               .andExpect(jsonPath("$.histogramDistributionbyCdrStatuses").isArray())
               .andExpect(jsonPath("$.histogramDistributionbyCdrStatuses").isNotEmpty());

}

ответ следующий:

{"histogramDistributionbyCdrStatuses":[{"dateRange":"2019-09","total":19,"delivered":7,"undeliverable":4,"expired":4,"enroute":4}]}

утверждение, которое я хочу сделать, это каждый объект в массиве histogramDistributionbyCdrStatuses имеет поле dateRange, итого, доставлено, недоставлено, срок действия истек и существует. как мне это сделать . Я также в порядке, чтобы использовать приспособления для подголовника.

действительно ценю любую помощь

1 Ответ

0 голосов
/ 17 марта 2020

Я только что продлил свой тест следующим образом, и он работает

@Test
    public void testGetPerformanceCdrStatusesByEnrouteStatus() throws Exception {
        this.restMvc.perform(MockMvcRequestBuilders.get(
                "/api/performance/cdrStatus?startDate=2019-09-01T00:00:00.000Z&endDate=2022-12-31T23:59:59.999Z&frequency=PER_DAY"))
                .andDo(print()).andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8_VALUE))
                .andExpect(status().isOk())
                   .andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8_VALUE))
                   .andExpect(jsonPath("$.histogramDistributionbyCdrStatuses").exists())
                   .andExpect(jsonPath("$.histogramDistributionbyCdrStatuses").isArray())
                   .andExpect(jsonPath("$.histogramDistributionbyCdrStatuses").isNotEmpty())
                   .andExpect(jsonPath("$.histogramDistributionbyCdrStatuses.[*].dateRange").exists())
                   .andExpect(jsonPath("$.histogramDistributionbyCdrStatuses.[*].total").exists())
                   .andExpect(jsonPath("$.histogramDistributionbyCdrStatuses.[*].delivered").exists())
                   .andExpect(jsonPath("$.histogramDistributionbyCdrStatuses.[*].undeliverable").exists())
                   .andExpect(jsonPath("$.histogramDistributionbyCdrStatuses.[*].expired").exists())
                   .andExpect(jsonPath("$.histogramDistributionbyCdrStatuses.[*].enroute").exists());


    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...