我正在尝试测试我的 Laravel 应用程序,运行 phpunit,但出现错误:
Error: Call to undefined method Illuminate\Hashing\BcryptHasher::driver()
Laravel 5.5,PHPUnit 7.0
我的用户测试:
namespace Tests\Feature;
use App\User;
use Tests\TestCase;
use Illuminate\Foundation\Testing\WithFaker;
use Illuminate\Foundation\Testing\RefreshDatabase;
class UserTest extends TestCase
{
use RefreshDatabase;
/** @test */
function name_should_not_be_too_long()
{
$response = $this->post('/users', [
'name' => str_repeat('a', 51),
'email' => $this->user->email,
'password' => 'secret',
]);
$response->assertStatus(302);
$response->assertSessionHasErrors([
'name' => 'The name may not be greater than 50 characters.'
]);
}
}
最佳答案
在您的 CreatesApplication 类中更改此行:
Hash::driver('bcrypt')->setRounds(4);
对此:
Hash::setRounds(4);
之后,做一个
composer dumpautoload
如果仍然没有运气,请降级到 phpunit 6.0。
关于laravel 错误调用未定义的方法 Illuminate\Hashing\BcryptHasher::driver(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49126397/