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
感覺比較好一點。
文章標籤
全站熱搜
留言列表