Я могу изменить faker
языковой стандарт в моем приложении в config/app.php
на pt_BR
, изменив 'faker_locale' => 'pt_BR',
, и он отлично работает на моих фабриках, но не в моих тестовых примерах. Вот как я импортирую фейкер в моих тестах:
namespace Tests\Unit;
use Tests\TestCase;
use Illuminate\Foundation\Testing\WithFaker;
use Illuminate\Foundation\Testing\RefreshDatabase;
use App\Models\Proprietario;
class ProprietarioTest extends TestCase
{
use WithFaker, RefreshDatabase;
public function testStore(){
$attributes = [
'name' => $this->faker->name,
'email' => $this->faker->email,
'address' => $this->faker->city,
'phone' => $this->faker->cellPhoneNumber,
'municipio' => $this->faker->randomDigit,
];
$response = $this->post('/api/v1/proprietario', $attributes);
$response->assertStatus(201);
$createdArea = Proprietario::latest();
$this->assertDatabaseHas('proprietarios', $attributes);
}
Тест не пройдёт в $this->faker->cellPhoneNumber
, потому что он не доступен в локали по умолчанию. Я использую Laravel 5.8 и PHP 7.2