Chai-http测试使用Github操作返回“错误:getaddrinfo EAI_AGAIN未定义”

时间:2020-07-03 15:24:15

标签: node.js continuous-integration chai github-actions chai-http

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

对此有何见解?预先感谢。

0 个答案:

没有答案