如何配置 playwright-jest 以排除测试套件(规范)文件以进行运行?
Posted
技术标签:
【中文标题】如何配置 playwright-jest 以排除测试套件(规范)文件以进行运行?【英文标题】:How do I configure playwright-jest to exclude a Test Suite (spec) file for a run? 【发布时间】:2021-10-02 21:25:16 【问题描述】:我有一个带有多个规范文件(测试套件)的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
?
【问题讨论】:
【参考方案1】:好的,所以我找到了解决问题的正则表达式。它似乎仍然不太理想,但在我看来这比添加skip()
更好。
显然jest
只需在运行命令中添加一个额外的参数就可以很容易地做到这一点。此参数被视为正则表达式,以匹配文件夹结构中的测试套件文件。
提供一个模式作为 cli 参数,是一种只选择与该正则表达式匹配的文件并执行它们的方法 -
jest "my.*(complex)?pattern"
我必须定义一个模式来排除文件名中的字符串。由于我想排除文件名中带有“BVT”文本的文件,因此将其添加到 package.json
scripts
,在我的情况下有效 -
"excludeBVT": "jest \"^((?!BVT).)*$\" -c jest.config.js"
【讨论】:
以上是关于如何配置 playwright-jest 以排除测试套件(规范)文件以进行运行?的主要内容,如果未能解决你的问题,请参考以下文章