Javascript 浏览器中的RESTful API测试
我正在编写RESTful应用程序以及文档。因为文档是以网页形式编写的,所以我希望在文档中嵌入REST服务测试 我使用Jasmine进行测试,并一直在寻找测试REST调用的一些简化方法。看起来是我需要的东西,但是 您知道有哪种库类似于飞盘测试,但在浏览器环境中?我发现,不管它值多少钱,它都是在便携式电脑上运行的,但我不知道它是否适用于茉莉花,因为它们与摩卡咖啡有很强的关系Javascript 浏览器中的RESTful API测试,javascript,rest,jasmine,supertest,Javascript,Rest,Jasmine,Supertest,我正在编写RESTful应用程序以及文档。因为文档是以网页形式编写的,所以我希望在文档中嵌入REST服务测试 我使用Jasmine进行测试,并一直在寻找测试REST调用的一些简化方法。看起来是我需要的东西,但是 您知道有哪种库类似于飞盘测试,但在浏览器环境中?我发现,不管它值多少钱,它都是在便携式电脑上运行的,但我不知道它是否适用于茉莉花,因为它们与摩卡咖啡有很强的关系 更新:不,:我最后编写了自己的一小套辅助函数来包装SuperAgent。现在,测试代码CoffeeScript和Jasmine
更新:不,:我最后编写了自己的一小套辅助函数来包装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)
Mayber Supergent适合你吗?还有一个supertest是在上面构建的,但我不完全确定你是否可以将它集成到浏览器中…@Charminbear我已经在一个问题中提到了它们…durr,对不起,我完全过火了。既然superagent主要是一个AJAX库,与测试无关,我想说您也可以将它与jasmine一起使用。但是,可能不是调用本身,而是您担心的断言?对,紧凑而优雅的断言正是我想要的