如何配置 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 以排除测试套件(规范)文件以进行运行?的主要内容,如果未能解决你的问题,请参考以下文章

Jacoco配置-从报告中排除类/程序包

Jacoco配置-从报告中排除类/程序包

Jacoco配置-从报告中排除类/程序包

Jacoco配置-从报告中排除类/程序包

业力配置以排除嵌套目录

行测笔记整理