Node.js 如何在jasmine.json中的测试套件之前运行数据库文件

Node.js 如何在jasmine.json中的测试套件之前运行数据库文件,node.js,postgresql,typescript,jasmine,Node.js,Postgresql,Typescript,Jasmine,我正在使用nodejs为我们的API创建一个端到端测试套件。在每个测试运行之前,我需要插入该测试的数据库记录。许多有问题的表的主键不使用本机自动递增类型字段 (我知道,数据库设计很糟糕,但我无法控制。) 相反,我要连接一个Postgres数据库服务器 当我开始设置测试时,我发现由于javascript的异步特性,我的事务彼此冲突。基本上,事务获得相同的序列号,然后尝试在彼此之上提交。因此,独特的约束正在失败 我想到的第一个解决方案(我对其他人持开放态度)是在任何测试运行之前设置所有数据库记录。但

我正在使用nodejs为我们的API创建一个端到端测试套件。在每个测试运行之前,我需要插入该测试的数据库记录。许多有问题的表的主键不使用本机自动递增类型字段

(我知道,数据库设计很糟糕,但我无法控制。)

相反,我要连接一个Postgres数据库服务器

当我开始设置测试时,我发现由于javascript的异步特性,我的事务彼此冲突。基本上,事务获得相同的序列号,然后尝试在彼此之上提交。因此,独特的约束正在失败

我想到的第一个解决方案(我对其他人持开放态度)是在任何测试运行之前设置所有数据库记录。但据我所知,Jasmine的beforeAll()函数只适用于它所在的文件。我需要一个beforeAll()函数,它在所有文件中的所有Jasmine测试运行之前运行

茉莉有那样的东西吗?如果没有,我有没有办法在nodejs中创建一个控制器,在数据库中设置测试用例,然后通过编程生成jasmine


提前谢谢

这是一种语言特征。如果需要按顺序执行,则需要执行
承诺
等待
。由于该语言有特定的行为,您需要使用它。这是一种语言功能。如果需要按顺序执行,则需要执行
承诺
等待
。由于语言有一个特定的行为,您需要使用它。