1

我正在学习如何使用 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 下正常工作。

对此有何见解?提前致谢。

4

0 回答 0