У меня есть phpunit. xml файл конфигурации с 3 наборами тестов (suite_1, suite_2, suite_3), подобный этому:
<?xml version="1.0" encoding="UTF-8"?>
<phpunit
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/8.1/phpunit.xsd"
backupGlobals="false"
backupStaticAttributes="false"
cacheTokens="false"
colors="true"
convertErrorsToExceptions="false"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
forceCoversAnnotation="false"
processIsolation="true"
stopOnError="true"
stopOnFailure="false"
stopOnIncomplete="false"
stopOnSkipped="false"
stopOnRisky="false"
timeoutForSmallTests="10"
timeoutForMediumTests="30"
timeoutForLargeTests="60"
stderr="true"
verbose="true">
<testsuites>
<testsuite name="SUITE_1">
<directory>path_to_test_files</directory>
</testsuite>
<testsuite name="SUITE_2">
<directory>path_to_test_files</directory>
</testsuite>
<testsuite name="SUITE_3">
<directory>path_to_test_files</directory>
</testsuite>
</testsuites>
</phpunit>
Все комплекты используют одну зависимость - (php monolog library)
SUITE_1 и SUITE_3 все исправны и работают.
Для SUITE_2 по некоторым причинам поставщики не установлены.
Если я запускаю только SUITE_2 , тесты не выполняются с ошибкой PHP (отсутствуют классы поставщиков).
Но: Если я запускаю все наборы, SUITE_1 загружает необходимые классы и SUITE_2 успешно проходит.
Я поигрался с атрибутом ' processIsolation = true ', который должен запускать наборы тестов в изолированных процессах, но это не сработало.
Как я могу запустить каждый набор тестов независимо от других? Если есть ошибки (не установлены зависимости), я ожидаю, что тест не пройден.
Теперь кажется, что все классы автоматически загружаются в глобальную память PHPUNIT.
Как я могу контролировать это поведение?
PHPUnit равно 8.5.2