开玩笑,多个测试文件的单个设置?

KHP*_*KHP 6 jestjs

我正在使用 Node.js 和 Jest 进行测试,当我有多个测试文件时遇到问题。

在我的每个测试中,我有 beforeAll() 启动我的服务器,我有 afterAll() 关闭服务器。当我有一个测试文件时,它工作得很好。但是当我有两个测试文件时,服务器状态发生冲突。有时,当服务器已经从第一个文件运行时,第二个文件尝试运行并导致Error: listen EADDRINUSE类型的错误,有时第一个文件在第二个文件运行的中间关闭服务器,这一切都取决于有时它工作的时间,有时它会遇到问题。

有没有办法让我的服务器在任何测试文件运行之前启动一次,然后在所有测试文件完成后关闭服务器?

或者我需要以不同的方式构建我的测试?也许我需要将需要我的服务器的所有测试放入单个测试文件中?我有点怀疑我必须这样做,但谁知道呢..

任何帮助或建议将不胜感激。我不喜欢使用 --runInBand 标志,尽管我不确定这会有帮助。