我试图从这里运行一个例子: http://docs.phalconphp.com/en/latest/reference/unit-testing.html
我创建了作曲家文件:
{
"require": {
"phalcon/incubator": "dev-master"
}
}
安装作曲家后,我试图运行phpunit并收到错误:
PHP Fatal error: Class 'Codeception\TestCase\Test' not found in /www/tests/vendor/phalcon/incubator/codeception/unit/Phalcon/Validation/Validator/Db/UniquenessTest.php on line 9
我添加了新的依赖项:
composer require "codeception/codeception:*"
它添加了许多依赖项。
之后我又收到了一个错误:
PHP Warning: require_once(tests/data/app/data.php): failed to open stream: No such file or directory in www/tests/vendor/codeception/codeception/tests/unit/Codeception/Module/FacebookTest.php on line 3
我改变了
require_once(tests/data/app/data.php)
到
require_once(__DIR__ . '/../../../../tests/data/app/data.php')
跟随以下文件:
www/tests/vendor/codeception/codeception/tests/unit/Codeception/Module/WebDriverTest.php
www/tests/vendor/codeception/codeception/tests/unit/Codeception/Module/WFacebookTest.php
www/tests/vendor/codeception/codeception/tests/unit/Codeception/Module/PhpBrowserTest.php
确定。 Phpunit正在运行......我有下一个错误:
PHP Fatal error: Class 'WebDriverTestCase' not found in `www/tests/vendor/facebook/webdriver/tests/functional/BaseTest.php on line 16`
好的..我试图包括:
require_once __DIR__ . '/WebDriverTestCase.php';
到
www/tests/vendor/facebook/webdriver/tests/functional/BaseTest.php
现在我有以下错误,我无法修复:
PHP Fatal error: Uncaught exception 'PHPUnit_Framework_Exception' with message 'Class "PHPUnit_Extensions_RepeatedTest" does not extend PHPUnit_Framework_TestCase.' in www/tests/vendor/phpunit/phpunit/src/Framework/TestSuite.php:195
Stack trace:
#0 /www/tests/vendor/phpunit/phpunit/src/Framework/TestSuite.php(324): PHPUnit_Framework_TestSuite->__construct(Object(ReflectionClass))
#1 /www/tests/vendor/phpunit/phpunit/src/Framework/TestSuite.php(409): PHPUnit_Framework_TestSuite->addTestSuite(Object(ReflectionClass))
#2 /www/tests/vendor/phpunit/phpunit/src/Framework/TestSuite.php(435): PHPUnit_Framework_TestSuite->addTestFile('/Users/anthony/...')
#3 phar:///usr/local/zend/bin/phpunit/phpunit/Util/Configuration.php(911): PHPUnit_Framework_TestSuite->addTestFiles(Array)
#4 phar:///usr/local/zend/bin/phpunit/phpunit/Util/Configuration.php(825): PHPUnit_Util_Configura in /www/tests/UnitTestCase.php on line 61
我认为作曲家应该让你的生活变得更加轻松似乎并非如此。我可以改变供应商库中的一些代码吗?!...我做错了什么?我只需要在phalcon中使用phpunit ...
答案 0 :(得分:1)
当我读完我期待看到的问题时,#34;好的......我拿了一把枪,在肚子里拍了两次......"如果您正试图从孵化器或Phalcon或您自己的测试中运行测试,我有点不确定。我假设你自己。
首先,孵化器是一个有趣的存储库,但它可能是您需要在项目中使用的最后一件事。这意味着让你的生活更轻松,但大多数东西都是实验性的,更多的是作为灵感而不是解决方案(imho)。由较少参与的人支持它,以及它不起作用的原因也可能是PHPUnit版本的差异(孵化器使用3.7,其他当代世界使用4.2,它们有一些不兼容性)。 / p>
Phalcon开箱即用,与PHPUnit完美搭配。要运行基本测试,您只需按documentation安装和配置PHPUnit即可。最简单的phpunit.xml可能如下所示:
<phpunit bootstrap="../../public/bootstrap.php">
<testsuite name="Default">
<directory>../../src/php</directory>
</testsuite>
</phpunit>
我建议摆脱孵化器(至少在您成功配置PHPUnit之前进行测试)并遵循标准文档。