如何在cakephp中运行单个测试用例方法

时间:2016-09-12 08:49:02

标签: php cakephp phpunit xdebug

我正在使用带有xdebug的cakephp测试(php单元测试)运行服务器端代码并​​监控终端的输出而不是用于验证。
所以,每次,我想从终端运行一些特定的lib / controller / model方法并查看输出,我必须注释掉其他测试用例函数。
我知道这可能不是正确的做法, 但我想知道,如果有办法,我可以围绕蛋糕测试建立一个包装器,它将采用我想要运行的方法名称的参数?

2 个答案:

答案 0 :(得分:4)

无需编写包装器脚本

运行一种测试方法

使用过滤器选项:

-> phpunit --help
PHPUnit 4.4.1 by Sebastian Bergmann.

Usage: phpunit [options] UnitTest [UnitTest.php]
       phpunit [options] <directory>
...
Test Selection Options:

  --filter <pattern>        Filter which tests to run.

例如:

-> phpunit --debug --filter testValidationDefault tests/TestCase/Model/Table/PostsTableTest.php 
PHPUnit 4.4.1 by Sebastian Bergmann.

Configuration read from /var/www/cakephp.dev/phpunit.xml.dist


Starting test 'App\Test\TestCase\Model\Table\PostsTableTest::testValidationDefault'.
I

Time: 130 ms, Memory: 9.75Mb

OK, but incomplete, skipped, or risky tests!
Tests: 1, Assertions: 0, Incomplete: 1.     
www-data @ dev [ /var/www/cakephp.dev ]
-> 

答案 1 :(得分:2)

要仅运行一个测试,请使用cake命令行工具中的filter选项:

cake test app Model/Post --filter testGetAllPostsByAuthor

适用于CakePhp 2.2