Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.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
Java 如何使用JUnit测试Spring控制器?_Java_Spring_Junit - Fatal编程技术网

Java 如何使用JUnit测试Spring控制器?

Java 如何使用JUnit测试Spring控制器?,java,spring,junit,Java,Spring,Junit,使用junit测试spring控制器的流程是什么 @Autowired private PersonService personService; @RequestMapping(value="/t2/{yy_id}/person", method=RequestMethod.GET) @ResponseBody public PersonInfo[] getPersons() { return personService.getPersons(); } 请给出一些示例。您可以将控制器自动连

使用junit测试spring控制器的流程是什么

@Autowired
private PersonService personService;

@RequestMapping(value="/t2/{yy_id}/person", method=RequestMethod.GET)
@ResponseBody
public PersonInfo[] getPersons() {

return personService.getPersons();
}

请给出一些示例。

您可以将控制器自动连接到JUnit测试中,并使用SpringJUnit4ClassRunner运行测试。当然,您需要创建一个测试上下文来初始化spring上下文,例如,实例化TestPersonService并为测试自动连接它。以下可能是一个良好的开端。接下来的步骤是检查关于测试的spring文档

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:test-spring-context.xml")
public class YourControllerTest {
    @Autowired
    private PersonController personController;

    @Test
    public void testGetPersons() {
        Assert.assertNotNull(personController.getPersons());
    }
}

什么是什么?我不明白你的问题…这只是一种方法。将控制器自动连接到JUnit测试中并对其调用方法。如果需要的话,可以嘲笑PersonService。但是,这个特定的方法可能太简单,无法测试。您是要将控制器作为一个单元进行测试,还是要测试它与Spring的集成,也就是说,您要测试注释?