Java 弹簧测试控制器不工作
我有以下课程:Java 弹簧测试控制器不工作,java,spring,testing,Java,Spring,Testing,我有以下课程: 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 sta
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()));
}
}
我得到了以下错误:测试失败:testStatus(cz.coffeeexperts.feedback.server.web.controller.activitycontrollertest):预期状态:但为:
如果键入错误的地址,将(通常)抛出404
这是我的营地控制器:
@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()) 谢谢大家!!我可以在6分钟内接受。我真的很沮丧:)。我正在尝试/rest/api/01/status,因为它是“真实”地址,但在这种情况下,“rest”配置不存在。我很高兴它有帮助:)