好的我正在使用laravel 5浏览Larabook上的教程系列,并且我一直试图使用Codeception。我的laravel应用程序文件夹名称是“larabook”
从我的larabook文件夹运行vendor / bin / codecept正常工作,为我提供了选项列表。我然后初始化它,这是有效的。我按照指示创建了一个SignUpCept.php文件,并用以下内容填充它。
<?php
$I = new FunctionalTester($scenario);
$I->am('a guest');
$I->wantTo('Sign up for a Larabook acount');
$I->amOnPage('/');
$I->click('Sign Up');
$I->seeCurrentUrlEquals('/register');
$I->fillField('Username:', 'JohnDoe');
$I->fillField('Email:', 'john@example.com');
$I->fillField('Password:', 'demo');
$I->fillField('Password Confirmation:', 'demo');
$I->click('Sign Up');
$I->seeCurrentUrlEquals('');
$I->see('Welcome to Larabook!');
但是当我运行“vendor / bin / codecept run functional”时,我收到以下错误..
[Exception]
Codeception requires CURL extension installed to make tests run.
现在,如果我键入curl --help,我会得到选项列表,这意味着它已正确安装,为什么会发生这种情况?我正在使用带有vagrant和virtualbox以及laravel 5的窗口。
我的“测试”文件夹位于我的larabook文件夹的根目录中,而我的codeception.yml文件就是这样。
actor: Tester
paths:
tests: tests
log: tests/_output
data: tests/_data
helpers: tests/_support
settings:
bootstrap: _bootstrap.php
colors: false
memory_limit: 1024M
modules:
config:
Db:
dsn: ''
user: ''
password: ''
dump: tests/_data/dump.sql
我也正确地设置了.env.testing.php以及larabook的根目录。
答案 0 :(得分:1)
就像@Alan曾经说的那样,如果你没有为php安装curl,在我遇到类似错误的情况下我只是用它安装它(在Ubuntu 15.10上)然后我的代码测试运行了
sudo apt-get install php5-curl
PS:如果您已经使用root权限,则不需要 sudo
答案 1 :(得分:0)
正在运行
$ curl --help
表示系统上安装了unix命令行curl程序。
这也意味着系统上安装了unix curl库。
不意味着您的PHP系统上安装了PHP curl扩展。
使用以下PHP代码
创建一个小测试文件phpinfo();
它将列出PHP已安装的所有扩展。我的猜测是没有安装PHP curl扩展。
请记住,您使用的PHP命令行版本可能与您正在使用的PHP的Web版本不同。
答案 2 :(得分:0)
如果您使用的是phpbrew,则可以安装 curl 扩展程序:
phpbrew ext install curl
如果安装此库时出错:
sudo apt install libcurl4-openssl-dev
注意:此解决方案已在Ubuntu 16上进行了测试