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