1

SpringControllerで「リソース」をテストするにはどうすればよいですか。

@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() {

    }

}
4

1 に答える 1

3

テストサーバーが稼働している場合は、テストメソッドでSpringRestTemplateを使用してみてください

何かのようなもの:

RestTemplate restTemplate = new RestTemplate();
String result = restTemplate.getForObject("YOUR_URL/{query}", String.class,"myQuery");

詳しくはこちらをご覧ください

サーバーがなく、基本的な単体テストが必要な場合は、サーバーをモックしてみてください。別のstackoverflowの質問に関する詳細情報。

または、https://github.com/SpringSource/spring-test-mvcを使用してみてください

于 2012-08-08T12:11:57.507 に答える