功能测试
由于thinkphp的测试扩展是基于phpunit的,因此phpunit的所有功能,在thinkphp的测试扩展中也能够使用。
当项目开始变得复杂,有多个模块的时候,我们在开发某个功能的时候,通常希望只测试某个功能。
这个时候,我们就能够使用phpunit的命令选项:--filter了。
一些常见的过滤例子为:
--filter "TestNamespaceTestCaseClass::testMethod"
--filter "TestNamespaceTestCaseClass"
--filter TestNamespace
--filter TestCaseClass
--filter testMethod
--filter "/::testMethod .*"my named data"/"
--filter "/::testMethod .*#5$/"
--filter "/::testMethod .*#(5|6|7)$/"
更多内容请参考phpunit
套件测试
当项目有多个模块组成的时候,我们通常希望测试速度够快,又不用测试整个项目。这个时候,我们就可以使用phpunit的套件功能了。
测试套件有两种方式组织,分别为通过目录和通过xml组织,在这里推荐使用第一种。
有多少个功能模块的时候,就在tests目录下新建多少个目录,然后在测试的时候,使用以下命令:
php think unit tests/xxx
通过这种方式,我们就能单独测试某个子目录下的测试了,这种也称之为测试套件。