Я хочу интегрировать phpspec2 с CodeIgniter 2. Я успешно установил phpspec, используя композитор, как описано на веб-сайте phpspec . Теперь я хотел бы интегрировать его в мою установку 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
Я использую xampp в Windows 7. Мой файл ci_bootstrap.php
выглядит так, как в вышеупомянутой статье AniDear.
Я попытался изменить пути в файле ci_bootstrap.php
(кажется, это проблема), однако это не сильно изменилось.
Любые идеи, как сделать эту работу?
Приветствует 🙂
У меня также проблема с PHPSpec2. Поскольку я только пробовал это с помощью PHPSpec (а не PHPSpec2), я бы предложил вам установить PHPSpec. Просто измените файл composer.json, в строке "phpspec/phpspec2": "*"
на "phpspec/phpspec": "*"
, затем снова запустите composer update
.
Запустите этот phpspec, используя vendor\bin\phpspec.php.bat spec
command 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';