我想将phpspec2与CodeIgniter 2集成。我已经使用composer成功安装了phpspec,如phpspec website所述。现在我想将它集成到我的CodeIgniter 2安装中。我在这个主题上找到了一个article by 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
文件中的路径(这似乎是问题),但它没有太大变化。
任何想法如何使这项工作?
迎接:)
答案 0 :(得分:1)
我也遇到了PHPSpec2的问题。
由于我只使用PHPSpec(不是PHPSpec2)尝试过,我建议您安装PHPSpec。只需将文件composer.json更改为"phpspec/phpspec2": "*"
行至"phpspec/phpspec": "*"
,然后再次运行composer update
。
使用项目路径上的命令vendor\bin\phpspec.php.bat spec
运行此phpspec,而“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';