为啥 jest 寻找不再存在的测试文件?
Posted
技术标签:
【中文标题】为啥 jest 寻找不再存在的测试文件?【英文标题】:Why is jest looking for a test file that no longer exists?为什么 jest 寻找不再存在的测试文件? 【发布时间】:2018-08-30 02:48:03 【问题描述】:在创建新测试时,我收到了这个错误:
Determining test suites to run...Error: ENOENT: no such file or directory, stat '/home/andrew/Documents/wise-fox/The-App/src/tests/components/AlertsComponent/AlertsPages/PromoPage3.test.js'
at Object.fs.statSync (fs.js:948:11)
at Object.statSync (/home/andrew/Documents/wise-fox/The-App/node_modules/graceful-fs/polyfills.js:297:22)
at fileSize (/home/andrew/Documents/wise-fox/The-App/node_modules/jest/node_modules/jest-cli/build/test_sequencer.js:71:73)
at tests.sort (/home/andrew/Documents/wise-fox/The-App/node_modules/jest/node_modules/jest-cli/build/test_sequencer.js:91:34)
at Array.sort (native)
at TestSequencer.sort (/home/andrew/Documents/wise-fox/The-App/node_modules/jest/node_modules/jest-cli/build/test_sequencer.js:77:18)
at /home/andrew/Documents/wise-fox/The-App/node_modules/jest/node_modules/jest-cli/build/run_jest.js:148:26
at Generator.next (<anonymous>)
at step (/home/andrew/Documents/wise-fox/The-App/node_modules/jest/node_modules/jest-cli/build/run_jest.js:27:377)
at /home/andrew/Documents/wise-fox/The-App/node_modules/jest/node_modules/jest-cli/build/run_jest.js:27:537
错误是试图查找不再存在的测试文件。我复制了许多测试,然后调整了文件的名称以及里面的测试以适应新文件。
以前,jest 只是意识到某些测试文件已经消失(因为重命名),但在这种情况下,jest 认为这些文件仍然存在。我不知道为什么,也不知道如何解决。
框架:反应 16 操作系统:Linux 基本操作系统
【问题讨论】:
【参考方案1】:啊,这与过时的快照文件有关。我手动删除了它们,测试运行得很好
【讨论】:
真的,提及快照文件/目录通常存储在哪里会有所帮助。【参考方案2】:对我来说,这不是快照问题,而是缓存问题。 运行
jest --clearCache
摆脱它。
【讨论】:
【参考方案3】:只是,删除生成的目录snapshots它会在你写 YOUR_FILE_NAME.test.js 的地方生成。
【讨论】:
以上是关于为啥 jest 寻找不再存在的测试文件?的主要内容,如果未能解决你的问题,请参考以下文章
为啥 Jest 在测试“Colyseus”游戏时会出现这个错误?
为啥基于 jest 的单元测试现在会导致 0% 的测试覆盖率?
为啥 Jest 不让我使用节点测试环境,即使他们自己更改了它?