当我在cakephp 2.6上运行我的测试时,会包含/plugin
文件夹测试。我尝试在phpunit.xml
中设置黑名单选项,测试使用该文件,但仍会包含插件。
我正在使用的命令以及命令promt
中的以下文本$ Console/cake test app All --stderr --configuration phpunit.xml
Welcome to CakePHP v2.6.13 Console
---------------------------------------------------------------
App : site
Path: /var/www/MYPAGE/site/
---------------------------------------------------------------
CakePHP Test Shell
---------------------------------------------------------------
PHPUnit 3.7.38 by Sebastian Bergmann.
Configuration read from /var/www/MYPAGE/phpunit.xml
我的phpunit.xml
文件。
<?xml version="1.0" encoding="UTF-8"?>
<phpunit>
<php>
<ini name="memory_limit" value="2048M" />
</php>
<filter>
<blacklist>
<directory suffix=".php">./plugins</directory>
<directory suffix=".ctp">./plugins</directory>
<directory suffix=".php">./vendor</directory>
</blacklist>
</filter>
</phpunit>
如您所见,我想忽略app / src文件夹旁边的vendor
和plugin
文件夹中的测试。
我也试过没有配置选项
$ Console/cake test App all --stderr
自动调用的插件是:
/插件
--Authenticate
--Crud
--DebugKit
- ..
/ SRC
答案 0 :(得分:0)
<filter>
部分仅用于过滤代码覆盖率分析中的文件/位置。
如果要缩小PHPUnit配置文件中的测试范围,那么您需要相应地配置<testsuites>
。但是,正如您所知,在CakePHP 2.x中,您不直接运行PHPUnit,而是使用CakePHP测试shell,这需要以编程方式创建测试套件 - 这似乎存在于您的设置中,否则应传递all
导致错误(至少是最新2.x中的情况)。
从文档中获取,只测试您的应用程序测试的测试套件可能如下所示:
// app/Test/Case/AllModelTest.php
class AllTestsTest extends CakeTestSuite {
public static function suite() {
$suite = new CakeTestSuite('All tests');
$suite->addTestDirectoryRecursive(TESTS . 'Case');
return $suite;
}
}
你可以像以下一样运行它:
Console/cake test app AllTests
另见