Интеграционный тест для RESTful Web Service - PullRequest
0 голосов
/ 08 июня 2018

Это мой класс контроллера тестирования интеграции.Способ получения всей команды и возникла проблема с компиляцией:

@SpringJUnitWebConfig(classes = CrewApplication.class)
public class Team_Controller_Integration_Test {
    private MockMvc mockMvc;

@Autowired
private WebApplicationContext webApplicationContext;

@Before
public void setup() throws Exception
{
    this.mockMvc = MockMvcBuilders.webAppContextSetup(this.webApplicationContext).build();
    MockitoAnnotations.initMocks(this);
}

@Test
void getAccount() throws Exception {
    this.mockMvc.perform(get("/teams")
            .accept(MediaType.parseMediaType("application/json;charset=UTF-8")))
            .andExpect(status().isOk())
            .andExpect(content().contentType("application/json;charset=UTF-8"))
            .andExpect(jsonPath("$version").value(null))
            .andExpect(jsonPath("$name").value("Apacze"))
            .andExpect(jsonPath("$createOn").value(null))
            .andExpect(jsonPath("modifiedOn").value(null))
            .andExpect(jsonPath("$description").value("grupa programistow"))
            .andExpect(jsonPath("$city").value("Włocławek"))
            .andExpect(jsonPath("$headcount").value(null));
}

}

Это моя ошибка:

java.lang.NullPointerException

С другой стороны, я создаю тест дляУ меня проблема, потому что после добавления фиктивных элементов в БД они возвращают ноль:

@RunWith(SpringRunner.class)
@DataJpaTest
public class Team_database_integration_test {

    @MockBean
    private TeamRepository teamRepository;

    @Autowired
    private TestEntityManager testEntityManager;

    @Test
    public void testDb(){
        Team team = new Team(1L,"teamName","teamDescription","krakow",7);
        testEntityManager.persist(team);
        testEntityManager.flush();

        System.out.println(team);
    }
}

1 Ответ

0 голосов
/ 08 июня 2018

Добавьте это объявление зависимости в контрольный пример

@Autowired
    private WebApplicationContext webApplicationContext;

и исправьте инициализацию

@Before
    public void setup() throws Exception
    {
        this.mockMvc = MockMvcBuilders.webAppContextSetup(this.webApplicationContext).build();
        MockitoAnnotations.initMocks(this);
    }

попробуйте изменить эту подпись, я думаю, что тип содержимого по умолчанию -json.Попробуйте безсначала утверждения, затем добавьте утверждения для проверок!

MvcResult CDTO = this.mockMvc.perform(get("/plan/1"))
        .andExpect(status().isOk())
        .andReturn();
...