如何在Playwright中忽略指定文件夹及其所有子文件夹?
如何在Playwright中忽略指定文件夹及其所有子文件夹?
我完全懂你遇到的困扰!想一次性忽略整个fooFolder包括它下面所有子目录里的测试文件,之前的配置要么只能搞定直接放在fooFolder下的文件,要么干脆没生效,确实挺闹心的。
其实问题出在glob模式的匹配规则上,Playwright的testIgnore是支持glob语法的,你需要用**来实现递归匹配所有子目录。
给你两种可行的配置方案:
方案一:精准忽略所有子目录下的.spec.ts文件
如果你只想忽略fooFolder及其子目录里的测试文件(.spec.ts),可以这么写:
projects: [ { name: "bar only", testIgnore: ["tests/fooFolder/**/*.spec.ts"], }, ]
这里的**会匹配fooFolder下任意层级的子目录,不管是直接的fooFile1.spec.ts,还是嵌套在foo2Folder里的fooFile2.spec.ts,都会被忽略掉。
方案二:直接忽略整个文件夹下的所有内容
如果想彻底忽略fooFolder里的所有文件(不管是不是测试文件),可以简化成:
projects: [ { name: "bar only", testIgnore: ["tests/fooFolder/**"], }, ]
顺便给你解释下之前的写法为啥不行:
- 你用的
/tests/fooFolder/*.spec.ts里的*只能匹配fooFolder直接目录下的文件,没法深入子目录; - 而
/tests/fooFolder//*.spec.ts是错误的写法,Playwright不识别这种格式,自然就没效果啦。
这样配置之后,就能只跑barFolder里的测试了,不用手动列一堆子目录,省心多了~
备注:内容来源于stack exchange,提问作者I.sh.
相关产品推荐
相关产品推荐

