Spring-Boot Junit Test Остальные вызовы дают исключение - PullRequest
0 голосов
/ 06 июня 2018

В строке

mockMvc.perform(MockMvcRequestBuilders.post("/v1/api/lineitems/") 

Я получаю исключение:

org.springframework.web.util.NestedServletException: Ошибка обработки запроса;вложенное исключение - java.lang.NullPointerException

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

Это мой класс Junit:

import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = FsaApp.class)
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
@AutoConfigureMockMvc
//@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class LineitemControllerTest {

    @Autowired
    private MockMvc mockMvc;

    @Autowired
    private WebApplicationContext wac;

    @Before
    public void setup() {
        this.mockMvc = MockMvcBuilders.webAppContextSetup(wac).build();

    }
@Test
    @Transactional
    @Rollback(true)
    public void testPostControllerSave() throws Exception 
    {   
        String b="{\"unit\": \"PERCENTAGE\","
    +"\"code\": \"PQR\","
    +"\"status\": \"ACTIVE\","
    +"\"approvalStatus\": \"AWAITING_AUTHORIZATION\","
    +"\"annualization\": 1,"
    +"\"makerComments\": \"creating lineitem\","
    +"\"checkerComments\": null,"
    +"\"finGroup\": null,"
    +"\"langMap\": ["
        +"{"
            +"\"code\": \"hi\","
            +"\"value\": \"Hindi\""
            +"},"
            +"{"
            +"\"code\": \"en\","
            +"\"value\": \"English\""
            +"}"
            +"],"
    +"\"type\": \"HEADER\"}";

        mockMvc.perform(MockMvcRequestBuilders.post("/v1/api/lineitems/")
                .contentType(MediaType.APPLICATION_JSON)
                .content(b))
                //.accept(MediaType.APPLICATION_JSON))
                .andExpect(jsonPath("$.id").exists())
                .andExpect(jsonPath("$.unit").exists())
                .andExpect(jsonPath("$.code").exists())
                .andExpect(jsonPath("$.unit").value("PERCENTAGE"))
                .andExpect(jsonPath("$.code").value("PQR"))
                .andDo(print());

        //JSONAssert.assertEquals("", "", false);
    }
}
...