用JUnit测试Spring控制器
如何在Spring控制器中测试“资源”:
@RequestMapping(value = "/{query}", method = RequestMethod.GET)
public @ResponseBody String getResource(
HttpServletRequest req,
HttpServletResponse res,
@PathVariable String query,
@RequestParam(value="param1", required = false) String param1,
@RequestParam(value="param2", required = false) String param2) throws SomeException{
return service.read(query);
}
因为我是用App Engine开发的,所以我有一个JUnit支架,如下所示:
@ContextConfiguration(locations = { "classpath:service/client-config.xml" })
@RunWith(SpringJUnit4ClassRunner.class)
public class LocalDatastoreTest {
private final LocalServiceTestHelper helper =
new LocalServiceTestHelper(new LocalDatastoreServiceTestConfig());
@Before
public void setUp() {
helper.setUp();
}
@After
public void tearDown() {
helper.tearDown();
}
@Test
public void test() {
}
}
# 1 楼答案
如果你有一个测试服务器正在运行, 尝试在测试方法中使用Spring RestTemplate
比如:
请参阅更多here
如果您没有服务器,需要进行基本的单元测试,请尝试模拟。 更多关于另一个stackoverflow question的信息
或者尝试使用https://github.com/SpringSource/spring-test-mvc