Visual studio code 测试在一起运行时失败,但使用jest和Puppeter分别通过

Visual studio code 测试在一起运行时失败,但使用jest和Puppeter分别通过,visual-studio-code,jestjs,puppeteer,Visual Studio Code,Jestjs,Puppeteer,因此,我编写了一些测试,其中包含了使用jest和Puppeter进行描述。每个套件基本上都保存为js文件,内部包含多个测试,我注意到,当我使用“npm run test”运行多个套件时,有些测试失败,但当我单独运行每个套件时,内部的所有测试始终通过。 你知道这种行为的根本原因是什么吗? 也许在“每次之前”阶段需要刷新一些东西? 10x导致这种情况的根本原因(几乎)总是副作用,也就是说,您的检查相互之间并不独立 解决办法在于你如何看待这些检查。通常,您需要: 这些支票必须是独立的 尽可能小 每个

因此,我编写了一些测试,其中包含了使用jest和Puppeter进行描述。每个套件基本上都保存为js文件,内部包含多个测试,我注意到,当我使用“npm run test”运行多个套件时,有些测试失败,但当我单独运行每个套件时,内部的所有测试始终通过。 你知道这种行为的根本原因是什么吗? 也许在“每次之前”阶段需要刷新一些东西?
10x

导致这种情况的根本原因(几乎)总是副作用,也就是说,您的检查相互之间并不独立

解决办法在于你如何看待这些检查。通常,您需要:

  • 这些支票必须是独立的
  • 尽可能小
  • 每个检查只检查一件事,这就转化为在其中有一个断言
  • 共享步骤位于每个挂钩之前或之前
  • 在UI上执行操作时,您可以使用快捷方式,即使用API调用、设置cookie、本地存储等,而不仅仅是单击UI

执行这些操作中的任何一项,理想情况下,所有这些操作都将帮助您改进UI检查,通常可以帮助您摆脱不稳定和长期运行的怪物。

这通常是由于副作用造成的。寻找测试共享的内容。