我正在学习如何使用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下正常工作。
对此有何见解?预先感谢。