我正在研究如何让 Jenkins 自动为我们运行 Behat 测试。所以我在本地机器上安装了 Jenkins(在 Ubuntu 12.10 上运行)。我已经能够在本地机器上运行 Behat 几个星期了。
在我的命令行中,我切换到目录并运行以下命令:
cd /virtualhosts/automated-testing/behat/ecash
php bin/behat -p phantomjs features/populate.feature
从这里它吐出所有关于哪些步骤正在运行以及每个步骤如何执行的漂亮语法。这很好用。然后我将以下内容放入詹金斯:
whoami
cd /virtualhosts/automated-testing/behat/ecash
pwd
php bin/behat -p phantomjs features/populate.feature
“whoami”返回“jenkins”,这并不奇怪。“pwd”显示了我在上一步中指定的目录。然后当它到达 PHP 命令时,它给了我这个:
PHP Fatal error: Interface 'Behat\Mink\Driver\DriverInterface' not found in /virtualhosts/automated-testing/behat/ecash/vendor/behat/mink-browserkit-driver/src/Behat/Mink/Driver/BrowserKitDriver.php on line 34
然后它进入堆栈跟踪。所以这让我摸不着头脑。我想也许它正在使用不同的 php.ini 文件。所以我从 Jenkins 和我的终端运行“php -i”并得到了相同的文件。然后我想,也许它不喜欢用户。所以我将 Jenkins 用户添加到我的组中(因为我创建了文件)。还是不行。
Soooo,我在这里做错了什么?为什么这不起作用?这没有任何意义。