Функциональное тестирование и непрерывная интеграция с GitLab - PullRequest
2 голосов
/ 04 августа 2020

Я обычно использую GitLab для размещения своих репозиториев и для использования их CI / CD. Я сделал проект Symfony (PHP) с некоторым кодом. Я знаю, как настроить мой .gitlab-ci.yml для выполнения моих модульных тестов через PHPUnit.

Но я действительно не понимаю, как выполнять свой функциональный тест. Например, этот код просто проверяет доступность маршрута /login и не возвращает 500.

class SecurityControllerTest extends WebTestCase
{
    public function testLogin()
    {
        $client = static::createClient();
        $client->request('GET', '/login');
        $this->assertEquals(200, $client->getResponse()->getStatusCode());
    }
}

Итак, я предполагаю, что apache / nginx необходим для интерпретации PHP. Так что я должен сделать настоящую docker -композицию с полным стеком LAMP или есть лучший способ?

1 Ответ

2 голосов
/ 06 августа 2020

Функциональные тесты выполняются прямо в phpunit. Вам нужно только установить компоненты browser-kit и dom-crawler symfony.

Если вы используете ORM, вы должны объявить образ базы данных как услугу и инициализировать вашу базу данных в скрипте CI.

...