Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unit testing 用于测试spring安全性的分步教程_Unit Testing_Spring Mvc_Spring Security_Testng - Fatal编程技术网

Unit testing 用于测试spring安全性的分步教程

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(

我无法阻止自己问这个问题,因为这不是搜索引擎的替代方案,因为我们已经在搜索正确的内容以开始测试SpringMVC应用程序。我们对spring和单元测试非常陌生。请为我们提供有关Spring REST服务测试、控制器测试和Spring安全测试的分步教程ALIF any的链接

请帮忙

提前感谢。

控制器。 如果您想测试控制器本身返回正确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。我还找到了一个如何使用它的示例。

控制器。 如果您想测试控制器本身返回正确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服务吗