私はModel
オブジェクトにapplication.properties
から属性を追加し、コントローラを持っている:Springブート - 設定ファイルからModel属性をテストする方法は?
@Value("${products}")
private String prod;
@GetMapping("/")
public String greetingForm(Model model) throws IOException {
List<String> products = Arrays.asList(prod.split("\\s*,\\s*"));
model.addAttribute("products",products);
return "form";
}
どのように私は、このメソッドをテストすることができますか?私はユニットテストのためにかなり新しいですので、アドバイスをいただければ幸いです。私はModel
何とか私のテストを実行しようとするたびに嘲笑しなければならないことを知って、私はNullPointerException
を取得します。
私のテスト:事前に
private MockMvc mockMvc;
@MockBean
private Model model;
@Before
public void setUp() {
this.mockMvc = MockMvcBuilders.standaloneSetup(new WebController()).build();
}
@Test
public void testHomeRoute() {
try {
List<String> products = new ArrayList<String>();
products.add("Product1");
products.add("Product2");
mockMvc.perform(get("/"))
.andExpect(MockMvcResultMatchers.view().name("form"))
.andExpect(MockMvcResultMatchers.model().attribute("products",products));
;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
感謝。