[英]Spring testing controller does not work
我有以下課程:
import org.junit.Before;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
import server.testing.WebTest;
public class CampaignControllerTest extends WebTest {
@Autowired
CampaignController campaignController;
private MockMvc mockMvc;
@Before
public void mySetup() throws Exception {
this.mockMvc = MockMvcBuilders.standaloneSetup(campaignController).build();
}
@Test
public void testStatus() throws Exception{
mockMvc.perform(get("/01/status")).andExpect((status().isOk()));
}
}
而且我得到以下錯誤: Failed tests: testStatus(cz.coffeeexperts.feedback.server.web.controller.CampaignControllerTest): Status expected:<200> but was:<404>
如果鍵入錯誤的地址,通常會拋出404。
這是我的CampaingController:
@Controller
@RequestMapping(value = "/api")
public class CampaignController {
@RequestMapping(value = "/01/status", method = RequestMethod.GET)
@ResponseBody
public ServerStatusJSON getStatus() {
return new ServerStatusJSON(activeCampaignService.getActiveCampaign().getIdCampaign());
}
}
當我在tomcat上部署此應用程序時,我嘗試測試的該地址工作正常。 該方法內部應該沒有問題,因為在這種情況下,它返回500內部錯誤,而不是404。
難道我做錯了什么?
嘗試mockMvc.perform(get(“ / api / 01 / status”))。andExpect((status()。isOk()));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.