# 使用測試套件
## 功能測試
由于thinkphp的測試擴展是基于phpunit的,因此phpunit的所有功能,在thinkphp的測試擴展中也能夠使用。
當項目開始變得復雜,有多個模塊的時候,我們在開發某個功能的時候,通常希望只測試某個功能。
這個時候,我們就能夠使用phpunit的命令選項:--filter了。
一些常見的過濾例子為:
```
--filter 'TestNamespace\\TestCaseClass::testMethod'
--filter 'TestNamespace\\TestCaseClass'
--filter TestNamespace
--filter TestCaseClass
--filter testMethod
--filter '/::testMethod .*"my named data"/'
--filter '/::testMethod .*#5$/'
--filter '/::testMethod .*#(5|6|7)$/'
```
更多內容請參考[phpunit](http://www.phpunit.cn/manual/current/zh_cn/textui.html#textui.clioptions)
## 套件測試
當項目有多個模塊組成的時候,我們通常希望測試速度夠快,又不用測試整個項目。這個時候,我們就可以使用phpunit的套件功能了。
測試套件有兩種方式組織,分別為通過目錄和通過xml組織,在這里推薦使用第一種。
有多少個功能模塊的時候,就在tests目錄下新建多少個目錄,然后在測試的時候,使用以下命令:
`php think unit tests/xxx`
通過這種方式,我們就能單獨測試某個子目錄下的測試了,這種也稱之為測試套件。