我想用phpunit命令运行AllModelTest 但是当我试图跑步时,没有什么可以测试的结果 当然,有很多测试代码。
$vendors/bin/phpunit --configuration app/Test/phpunit.xml
PHPUnit 3.7.38 by Sebastian Bergmann.
Configuration read from /Develop/web/app/Test/phpunit.xml
Time: 30 ms, Memory: 3.75Mb
No tests executed!
当我使用"控制台/蛋糕"命令,看起来很好。
$ app/Console/cake test app AllModel --stderr
Welcome to CakePHP v2.5.8 Console
---------------------------------------------------------------
App : app
Path: /Develop/web/app/
---------------------------------------------------------------
CakePHP Test Shell
---------------------------------------------------------------
PHPUnit 3.7.38 by Sebastian Bergmann.
...
/app/Test/Case/Model/JanTest.php
我写了这样的phpunit.xml。
<?xml version="1.0" encoding="utf-8" ?>
<phpunit bootstrap="phpunit-bootstrap.php"
colors="true"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
stopOnFailure="false">
<testsuites>
<testsuite name="Project Test Suite">
<directory suffix="Test.php">Test/Case/</directory>
</testsuite>
</testsuites>
</phpunit>
phpunit-bootstrap.php是这样的。
<?php
$file = __DIR__.'/../../vendors/autoload.php';
if (!file_exists($file)) {
throw new RuntimeException('Install dependencies to run test suite.');
}
$autoload = require_once $file;
目标测试文件&#34; AllModelTest.php&#34;是这样的。
<?php
class AllModelTest extends CakeTestSuite {
public static function suite() {
$suite = new CakeTestSuite('All model tests');
$suite->addTestDirectory(TESTS . 'Case/Model');
return $suite;
}
}
如何从phpunit命令运行测试?
谢谢!
答案 0 :(得分:1)
对于CakePHP 2.x,请按照文档进行操作 - 有一个内置的shell为你做测试,因为CakePHP 2.x与PHPUnit4.0不兼容,你需要通过这个shell坚持3.7而不是试图手动调用测试。
命令 as documented 是
cake test [...]
从您的应用目录开始,测试应用测试:
Console/cake test app
然后会显示可用测试列表。
答案 1 :(得分:0)
<directory suffix="Test.php">Test/Case/</directory>
指定的路径相对于phpunit.xml
文件的位置。
另请注意:
PHPUnit_Framework_TestSuite
(CakeTestSuite
似乎用于CakeTestSuite
)来组织测试套件<testsuites>
来组织测试以及PHPUnit的XML配置文件的<testsuite>
/ {{1}}元素,则可能会遇到问题答案 2 :(得分:0)
我遇到过这个问题,有时phpunit.xml
提供的灵活性很有用,也是一个有效的用例。在我的案例和原始问题中,我们需要添加一些简单的引导代码。
经过大量的修补,我发现如果PHPUnit是通过cake的设计从phar文件运行的,它还会自动从你运行测试的目录中查找phpunit.xml
文件。
对于命令行,这是app
文件夹。因此该文件应位于app/phpunit.xml
。
对于Web测试运行器,这是app/webroot
文件夹。因此该文件应位于app/webroot/phpunit.xml
。
答案 3 :(得分:0)
这适用于Cake 2,假设您的应用程序的Config
目录中有
Console/cake test app AllModel --configuration=Config/phpunit.xml
个文件:
{{1}}