1

我想将 phpspec2 与 CodeIgniter 2 集成。我已经使用 composer 成功安装了 phpspec,如phpspec website中所述。现在我想将它集成到我的 CodeIgniter 2 安装中。我找到了AniDear关于这个主题的一篇文章,并按照描述做了所有事情。但是,当我运行时bin/phpspec出现错误:

PHP Warning: require(core/Common.php): failed to open stream: No such file or directory 
in  C:\xampp\htdocs\eljotengine\spec\ci_bootstrap.php on line 37

Warning: require(core/Common.php): failed to open stream: No such file or directory in C:\xampp\htdocs\eljotengine\spec\ci_bootstrap.php on line 37

等等。我的文件结构如下所示:

eljotengine
|-application
|-sytem
|- ... other CI
|-spec
| |- ci_bootstrap.php

我在 Windows 7 上使用 xampp。我的ci_bootstrap.php文件看起来像上面提到的 AniDear 文章中的那个。

我试图更改ci_bootstrap.php文件中的路径(这似乎是问题所在)但它并没有太大变化。

任何想法如何使这项工作?

问候:)

4

1 回答 1

1

我也遇到了 PHPSpec2 的问题。因为我只用 PHPSpec(不是 PHPSpec2)尝试过,我建议你安装 PHPSpec。只需将文件 composer.json 更改"phpspec/phpspec2": "*""phpspec/phpspec": "*",然后composer update再次运行。

通过在项目路径上使用命令运行此 phpspec,vendor\bin\phpspec.php.bat spec而“spec”是包含规范文件的文件夹。

而且由于您是从项目目录运行 phpspec,我建议更改 ci_bootstrap.php 中的内容,如下所示

define('BASEPATH',realpath('system/').'/'); //set absolute path to CI system/
define('APPPATH', 'application/'); //set relative path to CI application
set_include_path(
    get_include_path().PATH_SEPARATOR.
    realpath(APPPATH).PATH_SEPARATOR.
    realpath(BASEPATH).PATH_SEPARATOR.
    'spec');  //adding 'spec' in path, for easily do require 'ci_bootstrap.php' from inside spec files

require BASEPATH.'core/Common.php';
require APPPATH.'config/constants.php';
require BASEPATH.'core/Controller.php';
于 2012-12-10T21:44:23.090 回答