【问题标题】:Integrating Codeigniter 2 with phpspec2将 Codeigniter 2 与 phpspec2 集成
【发布时间】:2012-11-18 22:06:29
【问题描述】:

我想将 phpspec2 与 CodeIgniter 2 集成。我已经使用 phpspec website 中描述的 composer 成功安装了 phpspec。现在我想将它集成到我的 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 文件中的路径(这似乎是问题所在),但并没有太大变化。

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

问候:)

【问题讨论】:

    标签: php codeigniter xampp bdd phpspec


    【解决方案1】:

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

    通过在项目路径上使用命令vendor\bin\phpspec.php.bat spec 运行此phpspec,而“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';
    

    【讨论】:

      猜你喜欢
      • 2015-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-20
      • 1970-01-01
      • 1970-01-01
      • 2016-01-26
      相关资源
      最近更新 更多