0
我的一個phpunit測試使用了一個需要相當長時間才能生成的數據集(由數據提供者提供)。當我從執行中排除此測試時,其dataprovider方法仍然執行。如何跳過執行phpunit數據提供者方法
如何跳過數據提供者的執行?
我的一個phpunit測試使用了一個需要相當長時間才能生成的數據集(由數據提供者提供)。當我從執行中排除此測試時,其dataprovider方法仍然執行。如何跳過執行phpunit數據提供者方法
如何跳過數據提供者的執行?
如果您跳過測試中的慢速測試,使用$this->markTestSkipped()
,則無法阻止執行dataProvider。
這是因爲在執行它們之前,PHPUnit必須獲取將傳遞給測試的數據。
可能的解決方案:
設定從命令行(-d key[=value]
選項),將通過將dataProvider和慢測試讀取兩者的環境變量。 dataProvider將返回一個虛擬數組,測試將標記爲跳過。
標記測試使用@group
註釋和使用--exclude-group
命令行選項,以便緩慢組測試將不會執行
重構測試所以沒有dataProvider均使用,假定沒有不便如慢將測試作爲不同的案例。
我會嘗試解決方案1.解決方案2沒有幫助:當使用--exclude-group時,數據提供者仍然會被執行。 3.我使用一個數據提供者來具有不同的測試用例。 –