2

我尝试使用 Codeception 测试我的 ZF 项目。

首先,我下载了 phar 文件并创建了 codeception 结构(通过 dummy 测试可以正常工作php codecept.phar run)。然后我将以下值添加到tests/acceptance.suite.yml

class_name: WebGuy
modules:
    enabled:
        - PhpBrowser
        - WebHelper
        - ZF1
    config:
        PhpBrowser:
            url: 'http://localhost'
    ZF1:
        app_path: '../app'
        lib_path: '../lib' 

并重建代码接收(构建没问题)

然后我添加了简单的验收测试:

<?php
$I = new WebGuy($scenario);
$I->wantToTest('hello action');
$I->amOnPage("/hello");

现在run命令说:

PHP Fatal error:  Call to a member function getBootstrap() on a non-object
in phar:///var/www/myproject/tests/codecept.phar/src/Codeception
/Module/ZF1.php 
on line 119

有什么建议么?为什么 bootstrap 没有在 codeception 模块中初始化?

4

1 回答 1

0

这个问题很老了,但现在可能对某人有所帮助:

PHPBrowser 模块与 ZF1 模块不兼容。您必须在您的套件中只使用其中一个。因此,制作多个套件用于在 PHPBrowser 中进行测试,并制作另一个套件用于框架的内部测试。

我在一个大型实验室系统(zf 1.12.20)中集成了codeception(V2.3)并且有很多错误。我编写了一个全新的 ZF1 模块类并使用他们的 ZF1 模块作为模板。不可能为 codeception 模块提供您在 zf1 项目中可以拥有的所有配置。

于 2018-03-17T14:11:59.627 回答