我已经设法在所有测试之前运行安装程序,并在所有测试之后运行拆卸。无论 e2e_tests 是否成功,我都需要运行拆解,因为目前它仅在所有 e2e_tests 通过时才运行。我应该在以下项目中进行哪些更改。
projects: [
{
name: 'setup',
testMatch: /global\.setup\.ts/,
},
{
name: 'e2e_tests',
use: {
...devices['Desktop Chrome'],
},
dependencies: ['setup'],
},
{
name: 'teardown',
testMatch: /global\.teardown\.ts/,
dependencies: ['e2e_tests'],
},
],
考虑更改依赖项,但依赖项顺序是正确的,只是 Teardwon 不应该依赖于 e2e_tests 是否成功。
在安装项目上设置 teardown 属性可以解决这个问题。在这里,即使 e2e_tests 项目中的测试失败,拆卸也将始终运行:
projects: [
{
name: "setup",
testMatch: /global\.setup\.ts/,
teardown: "teardown", // <---- added
},
{
name: "e2e_tests",
use: {
...devices["Desktop Chrome"],
},
dependencies: ["setup"],
},
{
name: "teardown",
testMatch: /global\.teardown\.ts/,
},
],