Phalcon 单元测试
Posted
技术标签:
【中文标题】Phalcon 单元测试【英文标题】:Phalcon UnitTesting 【发布时间】:2013-09-22 10:54:21 【问题描述】:我正在运行文档中的示例:http://docs.phalconphp.com/en/latest/reference/unit-testing.html#sample-unit-test
我想从 Phalcon\Test\UnitTestCase 创建一个抽象单元测试,如文档中所述。但是,当我运行测试时,我变成了:
PHP Fatal error: Class 'Phalcon\Test\UnitTestCase' not found
我已遵循确切的文档步骤。有没有人遇到同样的问题并解决了?
【问题讨论】:
您的项目中是否配置了自动加载? 【参考方案1】:这个类是孵化器的一部分:https://github.com/phalcon/incubator
$loader = new Phalcon\Loader();
$loader->registerNamespaces(array(
'Phalcon' => '/path/to/incubator/Library/Phalcon/'
));
$loader->register();
【讨论】:
我也一样。我使用作曲家进行安装。但我还是明白了。作曲家不是将它们安装在正确的位置吗?有点迷茫……【参考方案2】:我想通了。
基本上我们必须做两件事。
是@twistedxtra 的答案。 (设置孵化器所在的路径)
在我们创建的testsTestUnitTest.php
中,有如下一行
class UnitTest extends \UnitTestCase
我们必须将该行更改为
class UnitTest extends \Phalcon\Test\UnitTestCase
我们所做的是设置正确的命名空间,以便代码知道UnitTestCase
类在哪里。
就是这样。干杯...!!!
【讨论】:
【参考方案3】:确保在测试文件夹中运行 phpunit 命令。这很重要。
不要运行phpunit tests/
之类的东西
【讨论】:
不知道为什么这被否决了,因为这显然是众多问题之一,而且建议是正确的!我遇到了同样的问题,只是因为我是从不同的目录运行它,而自动加载器未能正确匹配路径。以上是关于Phalcon 单元测试的主要内容,如果未能解决你的问题,请参考以下文章