+1 امتیاز
قبل در برنامه نویسی توسط (426 امتیاز)
ویرایش شده قبل توسط

برای تست کردن Validation ها در SpringMVC باید چه کرد

از این بابت که ماژولش لود نمیشه؟

 

@RequestMapping(
    value = "/createUser",
    method = RequestMethod.POST
  )
public String createUser(
    @Valid @ModelAttribute("user") User user,
    BindingResult result
  ) {
    if (result.hasErrors()) {
      return "createUser";
    }
    ......
    ......
}


حالا اگر یک Constraint از Property های User رو رعایت نکنیم که باعث ValidationException بشه و این Exception درBindingResult خودشو نشون میده چطور باید اونو تست کنیم؟

1 پاسخ

0 امتیاز
قبل توسط (1.1هزار امتیاز)

شما بالاخره باید دلایل خطاهای validation رو در ui نمایش بدی، برای این کار می نونی errors هارو به view بفرستی (با استفاده از model) و بعدش اونارو نمایش بدی. در اینصورت براحتی می تونی با متد های MockMvcResultMatchers تست کنی که فلان پیغام خطا درست در صفحه نمایش داده شده:

@RunWith(SpringRunner.class)
@SpringBootTest
@AutoConfigureMockMvc
public class ApplicationTest {

    @Autowired
    private MockMvc mockMvc;

    @Test
    public void shouldReturnDefaultMessage() throws Exception {
        this.mockMvc.perform(get("/")).andDo(print()).andExpect(status().isOk())
                .andExpect(content().string(containsString("some error text")));
    }
}

سوالات مشابه

0 امتیاز
1 پاسخ 715 بازدید
+1 امتیاز
1 پاسخ 392 بازدید
0 امتیاز
2 پاسخ 9.4هزار بازدید
0 امتیاز
0 پاسخ 3.2هزار بازدید
+1 امتیاز
1 پاسخ 855 بازدید
+1 امتیاز
1 پاسخ 430 بازدید
سوال شده 5 سال قبل در برنامه نویسی توسط یوری (426 امتیاز)
0 امتیاز
0 پاسخ 285 بازدید
+1 امتیاز
2 پاسخ 914 بازدید
+1 امتیاز
1 پاسخ 52.1هزار بازدید
...