1 回答

TA貢獻2019條經驗 獲得超9個贊
問題與控制器有關,與測試無關。
可能的問題:您的控制器未被掃描!我這樣說是因為您希望擁有相同的 GET url 并查看“所有者”=> 這將失敗,因為它將重定向到自身。
解決方法:請確??刂破骱蛃pring boot test的包名相同或者導入一個配置進行掃描。
OwnerController -> src/main/java/ org.test
TestOwnerController -> src/test/java/ org.test
相同的包名:org.test
如果你需要有不同的包名,你可以添加到你的測試中
@ComponentScan("org.owner")
-> 其中 org.owner 是 OwnerController 的包
改進:您可以將測試方法重寫為
mockMvc.perform(get("/owners"))
.andExpect(model().attributeExists("owners"))
.andExpect(view().name("view"));
還請更改返回視圖的名稱以確保不會失敗:
@GetMapping(value = "/owners")
public ModelAndView getOwnersView() {
return new ModelAndView("view", Collections.singletonMap("owners", new Object()));
}
添加回答
舉報