首页 > 解决方案 > 如何配置 playwright-jest 以排除测试套件(规范)文件以进行运行?

问题描述

我有一个playwright-jest包含多个规范文件(测试套件)的设置。我需要跳过其中一个,但它需要保留在其 repo 的同一目录中(移动它不是一种选择)。

下的默认脚本package.json"test": "jest -c jest.config.js",我知道我们可以npm run test TestSuiteName.spec.ts为单个套件运行它,并且没有文件名 - npm run test,它运行整个测试计划 - 但是 - 我怎样才能只排除 1 个(或几个)并运行它的其余部分全部?

我试图找到它的配置标志,但没有运气。到目前为止工作的是describe.skip()针对那个特定的文件,而这主要是我能想到的一个体面的解决方法。但是,我不想在每次运行之前对代码进行更改。

我希望看看是否有人有更好的方法来做到这一点?也许正则表达式?或者也许通过jest.config一个选项标志?

标签: javascriptjestjsbrowser-automationplaywrighte2e

解决方案


好的,所以我找到了解决我的问题的正则表达式。它似乎仍然不太理想,但skip()在我看来,这比添加要好。

显然jest,只需在运行命令中添加一个额外的参数,这很容易。此参数被视为正则表达式以匹配文件夹结构中的测试套件文件。

提供模式作为 cli 参数是一种仅选择与该正则表达式匹配的文件并执行它们的方法 -

jest "my.*(complex)?pattern"

我必须定义一个模式来排除文件名中的字符串。由于我想排除文件名中带有“BVT”文本的文件,因此将其添加到package.json scripts,在我的情况下有效 -

"excludeBVT": "jest \"^((?!BVT).)*$\" -c jest.config.js"


推荐阅读