如何配置PhpStorm、Codeception和Docker以可靠地获得代码覆盖率
我不知道如何可靠地配置项目的各个部分,以便在PhpStorm中显示代码覆盖率 我正在使用PhpStorm(EAP)、docker(如何配置PhpStorm、Codeception和Docker以可靠地获得代码覆盖率,docker,docker-compose,phpstorm,code-coverage,codeception,Docker,Docker Compose,Phpstorm,Code Coverage,Codeception,我不知道如何可靠地配置项目的各个部分,以便在PhpStorm中显示代码覆盖率 我正在使用PhpStorm(EAP)、docker(19.03.5-rc1)和docker compose(1.24.1)。我用docker-compose.yml建立了我的项目,它包含一个php服务(docker imagein2code/php-dev:7.3-fpm,它包含xdebug,并且基于官方的php:7.3-fpm图像) 我用composer和所需的codeception(3.1.2)创建了一个新项目。我
19.03.5-rc1
)和docker compose(1.24.1
)。我用docker-compose.yml建立了我的项目,它包含一个php服务(docker imagein2code/php-dev:7.3-fpm
,它包含xdebug,并且基于官方的php:7.3-fpm
图像)
我用composer和所需的codeception(3.1.2
)创建了一个新项目。我运行了codeption引导程序,添加了覆盖率设置,创建了一个单元测试,并运行了覆盖率为的while测试套件。覆盖率没有出现在PhpStorm中,或者在任何地方都显示为0%。我不知道如何配置PhpStorm/Codeception来显示覆盖范围。有些项目可以这样做,但它们被配置为使用Docker映像,而不是运行Docker compose容器
我尝试了以下远程PHP解释器:
- 远程PHP解释器->Docker->图像(
)in2code/PHP-dev:7.3-fpm
- 远程PHP解释器->Docker->Docker为该项目构建的图像(
)cct\u PHP:latest
- 远程PHP解释器->Docker Compose->服务PHP->Docker Compose exec
- 远程PHP解释器->Docker编写->服务PHP->Docker编写运行
work\u dir:/app
和remote:false
这些尝试都没有生成PhpStorm中显示的代码覆盖率
使用PHP远程解释器Docker映像(Docker compose为该项目构建的映像)配置代码覆盖率有效的项目
编辑:项目的CLI解释器必须是由docker compose build构建的映像。在Codeception运行配置中设置不同的命令行解释器不会产生任何效果
docker-compose.yml
version: '3.7'
services:
php:
image: in2code/php-dev:7.3-fpm
volumes:
- ./:/app/
- $HOME/.composer/auth.json:/tmp/composer/auth.json
- $HOME/.composer/cache/:/tmp/composer/cache/
测试/unit.suite.yml
actor: UnitTester
modules:
enabled:
- Asserts
- \App\Tests\Helper\Unit
step_decorators: ~
coverage:
enable: true
remote: true
include:
- src/*
tests/unit/App/Controller/AirplaneControllerTest.php
不幸的是,它现在坏得不可救药: