在浏览器中进行RESTful API测试
RESTful API testing in a browser
我正在编写RESTful应用程序,以及文档。因为文档是作为网页编写的,所以我希望在文档中嵌入REST服务测试。
我使用Jasmine进行测试,并一直在寻找测试REST调用的一些简化。Frisby看起来像我需要的东西,但它在Node.js中运行,而不是浏览器。
你知道有什么类似于Frisby测试的库,但是在浏览器环境中吗?为了它的价值,我找到了SuperTest,它运行在便携式超级代理上,但我不知道它是否可以与Jasmine一起使用(它们与摩卡密切相关)。
UPDATE:不,supertest不(尚未)在浏览器中工作:(
最后,我编写了自己的一小组包装SuperAgent的辅助函数。现在测试代码(CoffeeScript和Jasmine)如下所示:
describe "A suite", ->
resource = null
it "and a spec", (done) ->
expectResponse(request.get "/path/to/resource")
.ok()
.json()
.andDo (response) -> resource = response.body
.end(done)
和一个像这样的帮助类
class ExpectResponseWrapper
constructor: (req) ->
@req = req
@expectations = []
end: (done) ->
@req.end (err, res) =>
if (err)
expect( -> throw err).not.toThrow()
else
for exp in @expectations
exp(res)
done?()
ok: ->
@expectations.push (res) ->
expect(res.statusType).toEqual(2)
this
json: ->
@expectations.push (res) ->
expect(res.type).toEqual('application/json')
this
andDo: (fn) ->
@expectations.push fn
this
# ... and the list of other helper expectations goes on ...
expectResponse = (req) -> new ExpectResponseWrapper(req)
相关文章:
- 在Hapi.js Restful API中了解请求IP
- 为node.js创建一个动态的restful api
- 在node.js中实现Restful api
- Sencha 2.0 和 Codeigniter RESTful API 生成未捕获的语法错误:意外令牌:
- 使用 RESTful API,如果未定义特定的响应 json 级别,我如何在客户端不出错
- VideoJS通过RESTful API动态更改源代码
- 我可以将初始动态数据从基于RESTful api的服务器端传递到基于角度的前端页面吗
- 用于Emberjs的带有Nodejs的RESTful API
- AngularJS身份验证,带有一个restful api,成功时返回一个令牌
- 具有关联的 RESTful API 设计
- 来自 AngularJS 和查询字符串的 Restful API 调用
- 使用 Restangular 使用 RESTful API - RESTful API 将数组作为顶级对象返回是否安全
- 使用 Jquery 连接到 Restful API 以流式传输视频
- 除了从环回 restful API 登录之外,无法获取或发布任何内容
- 放置一个微调器,而 $http.get 在 angularjs 中从 RESTful API 获取数据
- 如何在 Nodejs 中保护 RestFul API
- RESTful API绕过原产地政策
- 如何使用中间件从nodejs中的RESTful api中获取数据
- RESTful API communciation from Ruby on Rails (4.0)
- AngularJS Authentication + RESTful API