# 使用测试套件
## 功能测试
由于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`
通过这种方式,我们就能单独测试某个子目录下的测试了,这种也称之为测试套件。