我在Jest用来运行测试的顺序上遇到一些问题。
让我们想象一下我有两个测试:
module1.spec.ts
module2.spec.ts
每个模块都使用一个公共数据库。在每个文件的开头,我有一个beforeEach
调用,它删除数据库并重新创建新数据。
如果我启动module1.spec.ts
,一切正常。如果启动module2.spec.ts
,一切正常。
当我尝试使用jest
全局命令启动所有测试时,它不起作用。
我的理论是module1.spec.ts
和module2.spec.ts
在不同的线程中运行,或者至少在“同时”运行。
该方法的问题在于,两个测试必须一个接一个地运行,因为module1.spec.ts
和module2.spec.ts
都在测试期间删除了数据库并创建了数据。
关于使用数据库测试应用程序,我是否缺少某些东西?
他们的笑话选项是一个接一个地运行测试吗?
答案 0 :(得分:0)
我遇到了这个问题。现在,我的方法是export
和module1.spec.js
中的测试用例module2.spec.js
,然后require
将它们放在第三个文件中,例如index.spec.js
,并自定义测试用例index.spec.js
中的运行顺序。我不使用--runInBand
,因为我希望其他测试文件与index.spec.js
并行运行。