Jest测试按什么顺序运行?

时间:2018-08-22 15:13:48

标签: jestjs

我在Jest用来运行测试的顺序上遇到一些问题。

让我们想象一下我有两个测试:

  • module1.spec.ts
  • module2.spec.ts

每个模块都使用一个公共数据库。在每个文件的开头,我有一个beforeEach调用,它删除数据库并重新创建新数据。

如果我启动module1.spec.ts,一切正常。如果启动module2.spec.ts,一切正常。

当我尝试使用jest全局命令启动所有测试时,它不起作用。

我的理论是module1.spec.tsmodule2.spec.ts在不同的线程中运行,或者至少在“同时”运行。

该方法的问题在于,两个测试必须一个接一个地运行,因为module1.spec.tsmodule2.spec.ts都在测试期间删除了数据库并创建了数据。

关于使用数据库测试应用程序,我是否缺少某些东西?

他们的笑话选项是一个接一个地运行测试吗?

1 个答案:

答案 0 :(得分:0)

我遇到了这个问题。现在,我的方法是exportmodule1.spec.js中的测试用例module2.spec.js,然后require将它们放在第三个文件中,例如index.spec.js,并自定义测试用例index.spec.js中的运行顺序。我不使用--runInBand,因为我希望其他测试文件与index.spec.js并行运行。