功能测试以及与GitLab的持续集成

时间:2020-08-04 15:34:30

标签: php symfony continuous-integration gitlab gitlab-ci

我通常使用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。那么,我是否必须使用完整的LAMP堆栈制作一个真正的docker-compose,还是有更好的方法?

1 个答案:

答案 0 :(得分:2)

功能测试直接在phpunit中执行。您只需要安装browser-kit和dom-crawler symfony组件。

如果使用ORM,则必须将数据库映像声明为服务,并在CI脚本中初始化数据库。