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 单元测试的主要内容,如果未能解决你的问题,请参考以下文章

.NET 单元测试的艺术&单元测试之道C#版

什么是单元测试?如何做好单元测试?

测试篇——初探单元测试

单元测试

Java单元测试介绍

Android如何进行单元测试(转)