Node.js 不等待时如何测试续集
我有一个函数,Node.js 不等待时如何测试续集,node.js,typescript,async-await,jestjs,sequelize.js,Node.js,Typescript,Async Await,Jestjs,Sequelize.js,我有一个函数,myFunc(),它调用sequelize.create(),但不等待它。我想针对这段代码编写一些集成测试,以验证数据库是否已实际更新 我的测试函数it(“必须更新数据库”…调用生产代码,生产代码有时会调用myFunc。一旦生产代码返回到测试函数,我立即检查数据库是否有更新的值。不幸的是,我的测试完成得太快,没有足够的时间写入表。一个修复方法是添加一个时间r生产代码返回和检查测试处理程序中的数据库之间的延迟,但这感觉像是一种糟糕的方法。另一种方法可能是在调用sequelize.cr
myFunc()
,它调用sequelize.create()
,但不等待它。我想针对这段代码编写一些集成测试,以验证数据库是否已实际更新
我的测试函数it(“必须更新数据库”…
调用生产代码,生产代码有时会调用myFunc
。一旦生产代码返回到测试函数,我立即检查数据库是否有更新的值。不幸的是,我的测试完成得太快,没有足够的时间写入表。一个修复方法是添加一个时间r生产代码返回和检查测试处理程序中的数据库之间的延迟,但这感觉像是一种糟糕的方法。另一种方法可能是在调用sequelize.create
时使用间谍返回虚拟数据,但在我的生产代码的某些部分,我可能会等待此函数。我想知道是否还有其他方法…是不是这里有一种测试实用程序,它允许我以某种方式获取函数中的任何承诺,并在返回测试处理程序后等待它们
我很想知道其他人如何解决问题,实现我的愿望
谢谢添加您的试用代码