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 感覺比較好一點。


Tags: PHPUnit, group, class

文章標籤
創作者介紹

旅行的記憶

repeat<')">< 發表在 痞客邦 PIXNET 留言(0) 人氣()