14
Ноября
2022
г.
Инструменты автоматизации в php
Содержание
Все эти инструменты используются для проверки и контроля написанного кода.
Это лично мои предпочтения и не претендуют на истину в последней инстанции.
Psalm
Psalm статический анализатор кода, который проверяет код на наличие разного рода проблем.
Установка
composer require --dev vimeo/psalm
Конфигурация psalm.xml
<?xml version="1.0"?>
<psalm
errorLevel="1"
resolveFromConfigFile="true"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="https://getpsalm.org/schema/config"
xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd"
cacheDirectory="var/cache/.psalm"
>
<plugins>
<pluginClass class="Psalm\PhpUnitPlugin\Plugin"/>
</plugins>
<projectFiles>
<directory name="src" />
<directory name="tests" />
<ignoreFiles>
<directory name="vendor" />
</ignoreFiles>
</projectFiles>
</psalm>
Плагины
Psalm\PhpUnitPlugin\Plugin
Плагин для проверки тестов phpunit
Установить и включить в psalm.xml
composer require --dev psalm/plugin-phpunit
vendor/bin/psalm-plugin enable psalm/plugin-phpunit
Запуск
При условии что команда будет добавлена в секцию scripts
файла composer.json
composer psalm
PHPUnit
Пакет для написания unit тестов
Установка
composer require --dev phpunit/phpunit
Конфигурация phpunit.xml
<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd"
bootstrap="vendor/autoload.php"
cacheResultFile="var/cache/.phpunit.result.cache"
executionOrder="random"
beStrictAboutOutputDuringTests="true"
beStrictAboutTodoAnnotatedTests="true"
convertDeprecationsToExceptions="true"
failOnRisky="true"
failOnWarning="true"
colors="true"
verbose="true">
<testsuites>
<testsuite name="default">
<directory>./tests</directory>
</testsuite>
</testsuites>
<php>
<ini name="error_reporting" value="-1"/>
</php>
<coverage cacheDirectory="./var/cache/" processUncoveredFiles="true">
<include>
<directory suffix=".php">./src</directory>
</include>
</coverage>
</phpunit>
Запуск
phpunit --colors=always
Возник вопрос или предложение пиши на почту
alexsey_89@bk.ru или в
Телеграмм канал
Дата публикации: 14
Ноября
2022
г.