gpt4 book ai didi

node.js - 仅对 Node 中的 chai-http 单元测试进行 1 个 http 调用?

转载 作者:搜寻专家 更新时间:2023-10-31 23:38:53 25 4
gpt4 key购买 nike

我正在试用 chai-http Mocha/Chai 插件。它环绕着 Superagent。一切似乎都很好,除了我想知道......

难道我不能进行一次 http 调用并为每个调用编写单独的测试吗?测试似乎希望您像这样在响应函数中编写断言:

describe "github test", ->

it "should connect with a 200 status", ->
chai.request(githubReqObj.base)
.get(githubReqObj.url)
.req (req) ->
req.set
'Accept': 'application/vnd.github.beta+json'
return
.res (res) ->
expect(res).to.have.status 200

但我想运行多个断言,并将每个断言都放在自己的“it” block 下。

有没有办法运行

   before ->

然后只调用我对响应值的断言?

最佳答案

是的,像这样:

describe("github test", function () {
var res;

before(function (done) {
chai.request(...)
.get(..)
.req(...)
.res(function (response) {
res = response; // Record the response for the tests.
done(); // Tell mocha that the ``before`` callback is done.
});
});

it("should connect with a 200 status", function () {
expect(res).to.have.status(200);
});

it("should whaterver", function () {
expect(res).whatever;
});
});

我注意到您没有在示例中使用 done 回调。将它用于异步测试非常重要。在我上面显示的代码中,before 回调是异步的,但测试本身是同步的。

关于node.js - 仅对 Node 中的 chai-http 单元测试进行 1 个 http 调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20458839/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com