我正在尝试使用supertest和jest对我的阿波罗服务器进行测试,但它给出了错误,有人可以帮忙吗?
Timeout - Async callback was not invoked within the 5000 ms timeout specified by jest.setTimeout.Timeout - Async callback was not invoked within the 5000 ms timeout specified by jest.setTimeout.Error:
这是我的app.js,如果我不使用const app,则错误将是:app.address不是函数。
const { ApolloServer } = require("apollo-server");
const typeDefs = require("./schema/typeDefs");
const resolvers = require("./schema/resolvers");
const PORT = process.env.PORT || 4000;
const server = new ApolloServer({ typeDefs, resolvers });
const app = () =>
server
.listen(PORT)
.then(({ url }) => console.log("Apollo Server ready at: ", url))
.catch((err) => console.log("Apollo server not connected ", err));
module.exports = app;
这是我的admin.test.js,似乎卡在.get
const app = require("../app");
const request = require("supertest");
console.log(app);
const { gql } = require("apollo-server");
const findAllAdmin = gql`
query findAllAdmin {
admins {
_id
email
password
}
}
`;
describe("Admin Service", () => {
describe("GET /admins", () => {
describe("Successful FindAll", () => {
test("should return object with status 200 and all users", (done) => {
request(app)
.get("/admins")
// .send(findAllAdmin)
.end((err, res) => {
if (err) {
console.log(err);
return done(err);
} else {
expect(res.status).toBe(200);
expect(res.body.result).toEqual(expect.any(Array));
return done();
}
});
});
});
});
});