我是框架laravel 5.2的初学者
我想了解单元测试的工作原理.我做了这个测试:
public function testPageLogin()
{
$this->visit('/login')
->see('Connexion');
}
Run Code Online (Sandbox Code Playgroud)
当我运行脚本时:一切都很好.
然后我做了这个测试:
$this->visit('/login')
->type('toto.toto@gmail.com', 'email')
->type('toto', 'password')
->check('souvenir')
->press('Connexion')
->seePageIs('/login');
Run Code Online (Sandbox Code Playgroud)
当然,html页面中存在字段'email','password','souvenir'.使用这些值时,必须显示页面"login",因为这些值在数据库中是未知的.
当我运行脚本时,我失败了
Illuminate\Contracts\Container\BindingResolutionException:目标[Illuminate\Co ntracts\Debug\ExceptionHandler]不可实例化.在748行的C:\ wamp\www\ecole\vendor\laravel\framework\src\Illuminate\Container\Container.php中
当然,我必须在某处做错事,但我不知道在哪里.任何帮助将不胜感激.留言Merci.
多米尼克
这是使用更高版本的 PHPUnit 时 Laravel 中的一个已知错误。我相信这个错误还没有被修复;
https://github.com/laravel/framework/issues/10808
与此同时,下面有一些解决方法;
1) 不要使用全局 PHPUnit,而是使用*project*/vendor/bin/phpunit.
2) 降级 PHPUnit 版本,以便 Laravel 与其兼容,为此,请运行以下命令;
composer global remove phpunit/phpunit
composer global require 'phpunit/phpunit=~4.0'
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助。