Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 不等待时如何测试续集_Node.js_Typescript_Async Await_Jestjs_Sequelize.js - Fatal编程技术网

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
时使用间谍返回虚拟数据,但在我的生产代码的某些部分,我可能会等待此函数。我想知道是否还有其他方法…是不是这里有一种测试实用程序,它允许我以某种方式获取函数中的任何承诺,并在返回测试处理程序后等待它们

我很想知道其他人如何解决问题,实现我的愿望


谢谢

添加您的试用代码