jmockit测试假的http响应

时间:2014-07-01 18:45:10

标签: jmockit

在我的课程中,我有一个方法doRequest(HttpRequest, someListener),它发送HttpRequest并使用监听器来处理返回的HttpResponse。根据不同的responseCode 500,203等,handle方法将调用不同的方法A()B()。 现在我想测试监听器是否按照我的意愿进行测试,并验证A()B()方法是否使用正确的响应代码执行。我正在使用Jmockit来保持与现有测试框架的一致性。有什么办法可以模拟对这个输入监听器的假Http响应吗?我该如何测试这个听众的行为? 非常感谢!

1 个答案:

答案 0 :(得分:0)

要虚假回复本地,您可以使用Jaqen,这是一款非常轻便的服务器,用于测试依赖于API的脚本。

您可以设置您想要的任何内容,直接在请求上回复,这样就可能正是您所寻找的。

例如:

# Console request to a Jaqen instance listening at localhost:9000
$ curl 'http://localhost:9000/echo.json?foo=bar&data\[name\]=Jaqen&data\[v\]=1.0.0' -i
=> HTTP/1.1 200 OK
=> Content-Type: application/json
...
=> {"foo":"bar","data":{"name":"Jaqen","v":"1.0.0"}}

有几种方法可以告诉它该做什么以及提供静态文件以允许加载测试页和资产,请查看documentation以获取更多信息。

它基于node.js构建,因此在本地安装和使用它非常容易。

# To install it (once you have node.js):
$ npm install -g jaqen

# To run it just type 'jaqen' on the console:
$ jaqen
=> Jaqen v1.0.0 is listening on port 9000.
=> Press Ctl+C to stop the server.

就是这样!