首页 > 解决方案 > 开玩笑,多个测试文件的单一设置?

问题描述

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

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

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

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

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

标签: jestjs

解决方案


推荐阅读