Unit testing 用于测试spring安全性的分步教程
我无法阻止自己问这个问题,因为这不是搜索引擎的替代方案,因为我们已经在搜索正确的内容以开始测试SpringMVC应用程序。我们对spring和单元测试非常陌生。请为我们提供有关Spring REST服务测试、控制器测试和Spring安全测试的分步教程ALIF any的链接 请帮忙 提前感谢。控制器。 如果您想测试控制器本身返回正确ModelAndView或ModelMap的代码,您可以轻松编写一些单元测试。 为此,我通常使用spring测试和junit 然后我这样写我的测试:Unit testing 用于测试spring安全性的分步教程,unit-testing,spring-mvc,spring-security,testng,Unit Testing,Spring Mvc,Spring Security,Testng,我无法阻止自己问这个问题,因为这不是搜索引擎的替代方案,因为我们已经在搜索正确的内容以开始测试SpringMVC应用程序。我们对spring和单元测试非常陌生。请为我们提供有关Spring REST服务测试、控制器测试和Spring安全测试的分步教程ALIF any的链接 请帮忙 提前感谢。控制器。 如果您想测试控制器本身返回正确ModelAndView或ModelMap的代码,您可以轻松编写一些单元测试。 为此,我通常使用spring测试和junit 然后我这样写我的测试: @RunWith(
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:spring-test-beans.xml")
public class FormControllerTest {
@Autowired
private MyController controller;
@Test
public void testFirstAction() {
ModelMap model = new ModelMap();
assertEquals("result", controller.firstAction("data", model));
assertEquals("test", model.get("data"));
}
}
这样我就可以测试视图/模型是否正确。如果您想查看网页本身是否正确并使用了正确的操作,那么您可能需要查看Selenium集成测试,如果它是网页而不是REST服务
春季安全
要测试Spring安全性,您可能需要模拟SecurityContextHolder。在这里,您可以找到当前用户的详细信息,因此您还可以使用Mockito或EasyMock等模拟框架创建模拟,并使其看起来像您以特定用户身份登录。
可以找到更多关于它的信息,也可以找到一些答案,告诉您如何使用特定的模拟框架来实现它
与我关于控制器的回答相同,如果您想要测试整个画面,您需要使用Selenium集成测试
休息服务
REST服务本身(而不是控制器)不是更难测试的东西,因为它更像是一个集成测试,而不是一个单元测试。
我认为测试这一点的最好方法是创建一个REST客户机,它可以使用诸如RESTEasy或ApacheCXF之类的JAX-RS框架来完成,并测试使用REST客户机得到的结果
当您使用JAX-RS而不是SpringMVC定义REST服务时,这通常更容易做到,但这并非不可能。如果不想创建接口和额外的域类,那么也可以使用ApacheHttpClient。我还找到了一个如何使用它的示例。控制器。
如果您想测试控制器本身返回正确ModelAndView或ModelMap的代码,您可以轻松编写一些单元测试。
为此,我通常使用spring测试和junit
然后我这样写我的测试:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:spring-test-beans.xml")
public class FormControllerTest {
@Autowired
private MyController controller;
@Test
public void testFirstAction() {
ModelMap model = new ModelMap();
assertEquals("result", controller.firstAction("data", model));
assertEquals("test", model.get("data"));
}
}
这样我就可以测试视图/模型是否正确。如果您想查看网页本身是否正确并使用了正确的操作,那么您可能需要查看Selenium集成测试,如果它是网页而不是REST服务
春季安全
要测试Spring安全性,您可能需要模拟SecurityContextHolder。在这里,您可以找到当前用户的详细信息,因此您还可以使用Mockito或EasyMock等模拟框架创建模拟,并使其看起来像您以特定用户身份登录。
可以找到更多关于它的信息,也可以找到一些答案,告诉您如何使用特定的模拟框架来实现它
与我关于控制器的回答相同,如果您想要测试整个画面,您需要使用Selenium集成测试
休息服务
REST服务本身(而不是控制器)不是更难测试的东西,因为它更像是一个集成测试,而不是一个单元测试。
我认为测试这一点的最好方法是创建一个REST客户机,它可以使用诸如RESTEasy或ApacheCXF之类的JAX-RS框架来完成,并测试使用REST客户机得到的结果
当您使用JAX-RS而不是SpringMVC定义REST服务时,这通常更容易做到,但这并非不可能。如果不想创建接口和额外的域类,那么也可以使用ApacheHttpClient。我还找到了一个如何使用它的示例。我不能用MockMvc测试REST服务吗?我不能用MockMvc测试REST服务吗