PHPUnit 支援 groups 這個參數。一般的情況會是在 command line 執行整組測試:
phpunit --colors ExampleTest.php
但是有需要測特定幾組的狀況。
方法是在 ExampleTest.php 裡面對 method 做分類:
/**
 * @group alpha
 */
public function testAlpha()
{
//...
}
然後在 command line 執行
phpunit --colors --group alpha ExampleTest.php
當然有分類的需求,就會有一個 method 有多重分類的需求:
/**
 * @group alpha
 * @group beta
 * @group gamma
 */
public function testGamma()
{
//...
}
所以在 command line 也會有執行多重分類的需求:
phpunit --colors --group alpha,beta,gamma ExampleTest.php
如果測試裡不小心寫的相依性太高,就可能會發生 phpunit --colors --group alpha,beta,gamma ExampleTest.php 顯示 OK ,但 phpunit --colors --group gamma,beta,alpha ExampleTest.php 顯示 FAILURES! 的情況,這時候就要自己拆未爆彈了…XD
再來是 class 。
如果檔名叫 ExampleTest.php 的話,那麼 ExampleTest.php 裡面要測試的 class 就應該要是 class ExampleTest extends PHPUnit_Framework_TestCase 。
可以在 test 裡面放很多個不同的 class ,但是預設只會執行和檔名相同的那個;要執行另一個 class 的 command line 就必須要指定 class 的名稱:
phpunit --colors AnotherExampleTest ExampleTest.php
不過這樣很容易忘記它的存在,所以拆成一個新的 AnotherExampleTest.php 感覺比較好一點。
 留言列表
            
	    💻️ 	