如何使用 chakram 和 mocha 执行多个 API 调用?
How to execute multiple API calls using chakram and mocha?
我使用 mocha 作为测试框架,chakram 用于 API 次调用。
我有一个对象数组,我想遍历它们并将每个对象POST循环到一个API,我该怎么做?到目前为止,我所尝试的每次迭代都没有给出任何输出。
这就是我到目前为止想出的方法,使用 it-each 遍历一个数组,然后使用脉轮 post 每个数组。我不太确定如何将 chakram 承诺链与 it-each
联系起来
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 不是我的语言,我不太擅长 promise 链。
触发您的所有请求,然后使用 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) {})
])
});
我使用 mocha 作为测试框架,chakram 用于 API 次调用。
我有一个对象数组,我想遍历它们并将每个对象POST循环到一个API,我该怎么做?到目前为止,我所尝试的每次迭代都没有给出任何输出。
这就是我到目前为止想出的方法,使用 it-each 遍历一个数组,然后使用脉轮 post 每个数组。我不太确定如何将 chakram 承诺链与 it-each
联系起来 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 不是我的语言,我不太擅长 promise 链。
触发您的所有请求,然后使用 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) {})
])
});