嘲笑休息呼叫另一个休息服务



我已经写了一个REST代理,该代理称正在调用REST服务

@RequestMapping(value = { "session" }, method = {RequestMethod.GET)
    @ResponseBody
    public String sesionGet(HttpServletRequest request, HttpServletResponse httpServletResponse) {
            //call rest webservice    
            PostResponse postRequest = IncomeAccessUtils.postRequest(/*call web esrvice*/);

我需要对该代理进行集成测试,但有时部署的外部Web服务的服务器已关闭。我可以嘲笑Web服务电话的回复吗?我正在使用春季测试-MVC和/或REST-ASURE框架进行测试。

是的,在Java中有几种方法。

没有太多详细信息,我建议您查看Betamax - 它记录了任何网络集成并保存它以供以后重播。您可以通过想实时运行或使用录音的时候传递。(在一个项目中,我们在CI Env中的真实服务器上运行,但在本地运行测试时使用了Control的记录。)

SOAPUI是另一个能够嘲笑Web服务器的工具。如果您使用WSDL和/或肥皂,这可能是一个不错的选择。(可怜你!

一个简单的替代方法是运行Pythons简单的HTTP服务器:python -m SimpleHTTPServer 8888。它仅适用于启动目录中的任何内容。将您的回购作为文件放在那里,您很高兴。(使用简单的东西,但如果标题等重要,那么不太好。也不擅长模拟失败的电话。)

最后,如果您完全不进行网络调用,则可以在内部进行模拟。如果您使用像春季这样的依赖项注入框架,则很容易运行具有后端呼叫的模拟实现的版本,而不是真实的呼叫。

最新更新