我正在学习如何使用 chai-http 对 REST API 进行单元测试。测试在本地运行顺利,但在github上作为 PR 的 CI 检查运行时抛出此错误:
Jobs
GET /jobs
get jobs error => Error: getaddrinfo EAI_AGAIN undefined
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:66:26) {
errno: -3001,
code: 'EAI_AGAIN',
syscall: 'getaddrinfo',
hostname: 'undefined'
}
测试代码:
// Import the dependencies for testing
const chai = require("chai");
const chaiHttp = require("chai-http");
const { app } = require("../index");
// Configure chai
chai.use(chaiHttp);
chai.should();
describe("Jobs", () => {
describe("GET /jobs", () => {
it("should get all jobs record", (done) => {
chai
.request(app)
.get("/jobs")
.end((err, res) => {
res.should.have.status(200);
res.body.should.be.a("array");
done();
});
});
});
});
如您所见,我测试了直接导入它的服务器,.request(app)
但我也尝试过指向 localhost:port 时出现相同的错误。
我看到这是主机名和 DNS 的问题,但我不知道如何设置 CI 脚本和/或测试以在 Github 下正常工作。
对此有何见解?提前致谢。