讓PHPUnit測試單一個程式

Let PHPUnit run single test

January 30, 2017 - 1 minute read -
phpunit unit-test php

PHPUnit

在跑單元測試總有遇到亮紅燈的時候,健全一點的測試幾十個 assertion 都很正常,

但是如果 phpunit 只有幾個測試沒過全部重測也很浪費時間,所以稍微找了一下怎麼只測特定的 method 。

只測一個單元測試檔案

phpunit tests/testone.php

只跑 test/testone.php 裡的 testMethod()

phpunit --filter testMethod tests/testone.php

--filter 也支援 Namespace / Class name

phpunit --filter 'TestNamespace\\TestCaseClass::testMethod'
phpunit --filter 'TestNamespace\\TestCaseClass'
phpunit --filter TestNamespace
phpunit --filter TestCaseClass

正規表達也沒問題

phpunit --filter '/::testMethod .*"my named data"/'

也有快速便捷的測法

phpunit --filter 'testMethod#2'
phpunit --filter 'testMethod#2-4'

其他用法詳見: