一起运行时测试失败,但使用 jest 和 puppeteer 单独运行时测试通过

roy*_*oy 7 jestjs visual-studio-code puppeteer

所以我编写了一些使用 jest 和 puppeteer 进行描述的测试。每个套装基本上都保存为js文件,并且内部包含多个测试,我注意到当我使用 \xe2\x80\x9cnpm run test\xe2\x80\x9d 运行多个套件时,一些测试失败了,但是当我单独运行每个套件时,所有测试\n知道该行为的根本原因是什么吗?\n也许需要在 \xe2\x80\x9cbeforeEach\xe2\x80\x9d 阶段刷新某些内容?\n10x

\n

pav*_*man 6

其根本原因(几乎)总是副作用,即您的检查不是相互独立的。

解决方案在于您如何看待这些检查。通常,您想要:

  • 检查是独立的
  • 尽可能小
  • 每项检查仅检查一件事,即其中包含一个断言
  • 共享步骤位于 before 或 beforeEach 挂钩中
  • 在 UI 上执行操作时可以采取捷径,即使用 API 调用、设置 cookie、本地存储等,而不是仅仅单击 UI

执行其中任何一项(最好是所有这些)都将帮助您改进 UI 检查,通常可以帮助您摆脱不稳定且长时间运行的怪物。