PhalconPHP 和 phpunit

PhalconPHP and phpunit

我一直在关注 docs 使用 phalcon 设置 php 单元。我有这个例子。

但是,我现在想实际使用它并测试我自己的 classes,为此我知道我需要在加载器中注册目录,而不是重复那些目录已经在配置中定义,我想将配置包含在 php 单元测试助手 class 中(来自“phalcon 项目”命令)。这听起来很简单,但绝非如此。

我是否必须添加额外的代码才能访问 $config?

我假设文档缺少大量关于测试您自己的 classes 的代码是否正确,或者,它应该在遵循文档后直接开箱即用吗?

我已经尝试自己实现这个,下面是一个实现示例的基本思想:https://github.com/SavvySoftWorksLLC/phalcon_3_2_devtools_sample_project/tree/pks/setup_phpunit

如果你像

一样外部化你的加载器
<?php

$loader = new \Phalcon\Loader();

/**
 * We're a registering a set of directories taken from the configuration file
 */
$loader->registerDirs(
    [
        $config->application->controllersDir,
        $config->application->modelsDir
    ]
)->register();

然后像这样在您的入口点调用它:

include ROOT_PATH . "/../app/config/loader.php";

只要像文档中提到的那样初始化一个新的 DI 容器,您就可以在测试助手中重复使用相同的加载器。

为了展示全局,我推出了一个由 devtools 创建的开箱即用的应用程序供您查看。

加载程序:https://github.com/SavvySoftWorksLLC/phalcon_3_2_devtools_sample_project/blob/master/app/config/loader.php

入口点: https://github.com/SavvySoftWorksLLC/phalcon_3_2_devtools_sample_project/tree/master/public