gpt4 book ai didi

javascript - 环回和 mocha : wait for server to finish boot scripts

转载 作者:数据小太阳 更新时间:2023-10-29 05:18:07 24 4
gpt4 key购买 nike

您好,作为问题的标题,我想知道如何在启动测试之前检查环回引导脚本是否已完成。在示例项目中:

https://github.com/strongloop/loopback-example-relations

有一个file在似乎可以完成工作的测试文件夹中,但不幸的是它没有解决它。

start-server.js:

var app = require('../server/server');

module.exports = function(done) {
if (app.loaded) {
app.once('started', done);
app.start();
} else {
app.once('loaded', function() {
app.once('started', done);
app.start();
});
}
};

此脚本加载在 rest test api 中如下:

before(function(done) {
require('./start-server');
done();
});

但该函数从未被调用。这是使用该脚本的正确方式吗?

我以以下实现结束:

before(function (done) {
if (app.booting) {
console.log('Waiting for app boot...');
app.on('booted', done);
} else {
done();
}
});

这行得通,但我对那个启动服务器脚本感到困惑。

编辑按照@stalin 的建议,我修改了 before 函数,如下所示:

before(function(done) {
require('./start-server')(done);
});

并且执行进入 else 分支,但永远不会调用 done

最佳答案

您永远不会将 done 函数传递给 start-server 脚本。尝试这样做:

before(function(done) {
var server = require('./start-server');
server(done);
});

关于javascript - 环回和 mocha : wait for server to finish boot scripts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38313338/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com