我将服务器作为一个单独的进程启动,之后我在Jest上运行测试,如下所示:
beforeAll(function (done) {
server = fork('server/start_server.js');
exec('node ../utility/new_user.js User Pass testing');
setTimeout(() => {
done();
}, 2000);
});
afterAll(function () {
fork('server/clean_db.js');
server.kill();
});
test('Login', () => {
login().then((data) => {
expect(data.logged).toBeTruthy();
})
});
“start_server.js”文件启动http服务器并连接到数据库(MongoDB通过Mongoose)。但问题是,当“登录”测试发送请求时,会返回错误 - Error: connect ECONNREFUSED 127.0.0.1:8080
。我假设这是因为应用程序没有时间连接到数据库。如何在不在测试文件中执行数据库连接的情况下修复它?