@ganjo888

Как переключать подключения к db при phpunit тестах?

Приложение использует две базы данных pqsql и mongo. Фреймворк - laravel.
В своем тесте использую фабрики для создания записи в mongodb. Как мне сделать так , чтобы запись создавалась в тестовой базе , а именно в mongodb_test ? как мне переключаться между тестовыми базами?

Так я создаю тестовую запись в базе
factory(TestModel::class)->create();

TestModel
class TestModel extends Eloquent
{
    use SnakeCaseToCamelCaseTrait, BelongsToModelJoin;
    public $connection = 'mongodb';
    protected $collection = 'test';
}

Для тестов создал такие конфиги.
'pgsql_test' => [
            'driver'   => 'pgsql',
            'host'     => env('POSTGRES_HOST', '127.0.0.1'),
            'port'     => env('POSTGRES_PORT', '5432'),
            'database' => env('DB_TEST_DATABASE', 'forge'),
            'username' => env('POSTGRES_USER', 'forge'),
            'password' => env('POSTGRES_PASSWORD', ''),
            'charset'  => 'utf8',
            'prefix'   => '',
            'schema'   => 'public',
            'sslmode'  => 'prefer',
        ],
        'mongodb_test' => [
            'driver'   => 'mongodb',
            'host'     => env('MONGO_HOST', 'localhost'),
            'port'     => env('MONGO_PORT', '27017'),
            'database' => env('DB_TEST_DATABASE', 'laravel'),
            'username' => env('MONGO_USERNAME', ''),
            'password' => env('MONGO_PASSWORD', ''),
            'options'  => [
                'database' => 'admin',
            ],
        ],
  • Вопрос задан
  • 61 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы