如何使用chakram和mocha执行多个API调用?

时间:2017-12-08 00:59:42

标签: javascript mocha chakram

我正在使用mocha作为测试框架,并使用chakram进行API调用。

我有一个对象数组,我想循环遍历它们并将每个对象POST到API,我该怎么做?到目前为止我所尝试的并没有给出每次迭代的任何输出。

这是我到目前为止所提出的,使用it-each循环数组,然后使用chakram发布每个数组。我不太确定如何将chakram承诺链与每个

联系起来
  const itEach = require('it-each')({ testPerIteration: true });

  const url = ""
  things = [{"title":"A"},{"title":"B"}]

  it.each(things, "calling API", ['element'], (element, next) =>{
      console.log("about to post a thing " + JSON.stringify(element))
      chakram
          .post(url, element)
          .then(uploadResponse => {
              expect(uploadResponse).to.have.status(200)
              console.log("finished upload for element " + element)
              next()
           })
  })

我有什么问题? JS不是我的语言,我对承诺链不是很好。

1 个答案:

答案 0 :(得分:0)

触发所有请求,然后使用chakram.waitfor属性获取所有响应。

it("get all responses",function() {
response1=chakram.put(url,param,options)
response2=chakram.put(url,param,options)
response3=chakram.put(url,param,options)
response4=chakram.put(url,param,options)

 return chakram.waitFor([
                expect(response1).to.have.json(function (json) {
})
 expect(response2).to.have.json(function (json) {})
 expect(response3).to.have.json(function (json) {})
 expect(response4).to.have.json(function (json) {})
])
});