簡體   English   中英

如何在 PHPUnit 中過濾多個測試?

[英]How to filter for multiple tests in PHPUnit?

我可以使用--filter選項從套件中運行單個測試。

我想知道是否有一種方法可以在套件下動態運行多個測試?

謝謝

過濾多個測試的簡單正則表達式可能看起來像--filter '/test1|test2|test4/' 這將匹配包含“test1”、“test2”或“test4”的任何測試,因此例如將包含 test43,但不會運行 test3。 檢查區分大小寫。

為我工作:

phpunit -c phpunit.dist.xml src --filter '/NameSpace\\UserBundle/|Namespace\\OtherBundle'

不要為我工作:

phpunit -c phpunit.dist.xml src --filter "/NameSpace\\UserBundle/|Namespace\\OtherBundle"

對我來說,雙引號的結果是“沒有執行測試!”

如果您不在過濾器中使用 \\(用於命名空間),那么雙引號可以完美工作,但是在我的設置中使用 namespace\\bundle 我需要使用單引號。

--filter 選項運行名稱與給定正則表達式模式匹配的測試,因此您應該能夠通過提供合適的正則表達式作為參數來選擇多個測試。

請參閱PHPUnit 命令行測試運行器的文檔

我建議使用“spatie/phpunit-watcher”( https://github.com/spatie/phpunit-watcher ),這將允許您執行此類過濾

所以我最終用我需要的所有測試創建了我自己的配置文件,然后通過--configuration將它傳遞給 PHPUnit。

暫無
暫無

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

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