我正在使用下面的turotiral在我的山狮macbook上安装behat和mink。
http://www.ifusio.com/blog/how-to-install-behat-mink-on-mac-osx
在您运行behat命令之前似乎一切正常,然后我收到以下错误
PHP Fatal error: Class 'Symfony\Component\Console\Helper\ProgressHelper' not found in /Users/waseem/pear/share/pear/Symfony/Component/Console/Application.php on line 966
PHP Stack trace:
PHP 1. {main}() /Users/waseem/pear/bin/behat:0
PHP 2. Behat\Behat\Console\BehatApplication->__construct() /Users/waseem/pear/bin/behat:26
PHP 3. Symfony\Component\Console\Application->__construct() /Users/waseem/pear/share/pear/behat/src/Behat/Behat/Console/BehatApplication.php:32
PHP 4. Symfony\Component\Console\Application->getDefaultHelperSet() /Users/waseem/pear/share/pear/Symfony/Component/Console/Application.php:75
Fatal error: Class 'Symfony\Component\Console\Helper\ProgressHelper' not found in /Users/waseem/pear/share/pear/Symfony/Component/Console/Application.php on line 966
Call Stack:
0.0002 632656 1. {main}() /Users/waseem/pear/bin/behat:0
0.0036 1350424 2. Behat\Behat\Console\BehatApplication->__construct() /Users/waseem/pear/bin/behat:26
0.0036 1350504 3. Symfony\Component\Console\Application->__construct() /Users/waseem/pear/share/pear/behat/src/Behat/Behat/Console/BehatApplication.php:32
0.0036 1350816 4. Symfony\Component\Console\Application->getDefaultHelperSet() /Users/waseem/pear/share/pear/Symfony/Component/Console/Application.php:75
如果我通过Github方法安装它似乎很好,这只是困扰我为什么会发生这种情况。我机器上没有Symfony。
也许是因为我安装了--alldeps?我尝试过卸载并再次尝试同样的问题
答案 0 :(得分:0)
Behat PEAR channel不再维护。那里没有最新的Behat版本(> = 2.4)。
安装Behat的最佳和最简单的方法是使用composer。我建议关注the original docs。 Pear方法不再列在那里了。
答案 1 :(得分:0)
非常感谢,但是我在Mac OS X上可靠地为我工作的唯一方法是我在雪地上进行了试验,而Mountain Mountain正在使用.phar安装方法。
作曲家方法虽然在遵循
中的指南时似乎更容易产生错误http://docs.behat.org/cookbook/behat_and_mink.html
我得到的错误是下面所以我坚持使用phar文件。
[Symfony\Component\DependencyInjection\Exception\InvalidArgumentException]
Unable to parse file "/Users/waseem/Behat/vendor/behat/mink-extension/src/Behat/MinkExtension/services/sessions/selenium2.xml".
[InvalidArgumentException]
[ERROR 1840] Element '{http://symfony.com/schema/dic/services}parameter', attribute 'type': [facet 'enumeration'] The value 'integer' is not an element of the set {'collection', 'service', 'string', 'constant'}. (in /Users/waseem/Behat/ - line 20, column 0)
[ERROR 1824] Element '{http://symfony.com/schema/dic/services}parameter', attribute 'type': 'integer' is not a valid value of the atomic type '{http://symfony.com/schema/dic/services}parameter_type'. (in /Users/waseem/Behat/ - line 20, column 0)
答案 2 :(得分:0)
看看behat \ autoload_map.php。找不到该文件时,此文件替代Symfony自动加载器。它包含一个将namespace \ class映射到目录和文件的数组。只需添加一些内容,您就可以使用此版本的Behat。
如果确实如其他人所说的那样,Behat不再支持PEAR频道,那么您可以自行使用此解决方案。就个人而言,我会研究另一种方法来保持我的Behat安装更新。