簡體   English   中英

PHPUnit:使用 --filter 選項排除兩個或更多命名空間

[英]PHPUnit: exclude two or more namespaces using the --filter option

我需要從我的本地單元測試執行中排除幾個命名空間。 這是因為我的本地環境中沒有 CI 管道中可用的某些服務。 我可以通過運行以下命令來包含命名空間:

phpunit --filter 'MyApp\\Providers\\Provider1'

我知道filter選項接受正則表達式,如https://phpunit.readthedocs.io/en/9.5/textui.html#command-line-options中所述。 但是,我無法找到一個有效的名稱來排除兩個或更多名稱空間。

嘗試了不同的組合,例如:

phpunit --filter '(?!(MyApp\\Providers\\Provider1)|(MyApp\\Services\\Service1)).*'

這可能是錯誤的。

您沒有指定從 position 開始的前瞻。因此它將占用從 0 到行內容長度的整行。

例如,如果有 3 行帶有a1a2a3並使用了(?.(a1|a2)).* ,結果將為12a3

因為您只跳過兩行的 0 position (在a1b1之前)。

如果您指定開始 position 像^(?.(a1|a2)).* ,結果將僅為a3

因為僅從行首 ( ^ ) 和.*開始申請,所以會占用整行。

https://regex101.com/r/bBEUOD/1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM