【发布时间】:2017-12-20 04:15:09
【问题描述】:
我用 Jest 运行了这个测试文件:
test('this works', () => {
Promise.resolve();
});
test('this also works', (done) => {
setTimeout(done, 100);
});
test('this does not work', () => {
return models.sequelize.sync({force: true, logging: false});
});
test('this also does not work', (done) => {
models.sequelize.sync({force: true, logging: false}).then(() => done());
});
使用 Sequelize.js 或 Jest 时有些奇怪。想法?
澄清一下:并不是我的测试失败了,所有 4 个测试都是绿色的。后两者将重置数据库,但即使在所有测试运行之后,Jest 进程也将永远挂起。开玩笑会说:4 过去了,只是我必须用 Ctrl + C 手动退出。
【问题讨论】:
-
你确定续集承诺真的完成了吗?尝试在
then中添加一些日志记录 -
@RichardSzalay 是的,日志仍然会发生,所以我假设
done被调用,then回调也被调用。无论出于何种原因,只是测试过程仍然会挂起。 -
我想我发现了问题:github.com/sequelize/sequelize/issues/7953 打算再开一天,希望能提出更好的解决方案。
标签: node.js sequelize.js jestjs