0

I have a Laravel project setup in PhpStorm. Using PHP 7.3 with PHPUnit 8.4.0.

I have phpunit.xml setup as below, and when I do Run -> Run -> phpunit.xml it works fine and all the tests in /tests/feature/ get run...yay.

The output is something like this when it starts:

[vagrant:///home/mypc/code/homestead]:/usr/bin/php /home/vagrant/myproject/vendor/phpunit/phpunit/phpunit --configuration /home/vagrant/myproject/phpunit.xml --teamcity --cache-result-file=/home/vagrant/myproject/.phpunit.result.cache

However I now have lots of tests and I don't always want to run all the tests every time, so I should be able to just right click on any of the test methods and click "Run ...method name...", but when I do an error occurs:

[vagrant:///home/mypc/code/homestead]:/usr/bin/php /home/vagrant/myproject/vendor/phpunit/phpunit/phpunit --configuration /home/vagrant/myproject/phpunit.xml --filter "/(::test_example_test_for_running)( .*)?$/" Tests\\Feature\\ExampleTest\\ExampleTest /home/vagrant/myproject/tests/Feature/ExampleTest.php --teamcity --cache-result-file=/home/vagrant/myproject/.phpunit.result.cache

Fatal error: Uncaught PHPUnit\Runner\Exception: Class 'Tests\\Feature\\ExampleTest\\ExampleTest' could not be found in '/home/vagrant/myproject/tests/Feature/ExampleTest.php'. in /home/vagrant/myproject/vendor/phpunit/phpunit/src/Runner/StandardTestSuiteLoader.php:65

Here is my phpunit.xml:

<?xml version="1.0" encoding="UTF-8"?>
<phpunit backupGlobals="false"
         backupStaticAttributes="false"
         bootstrap="vendor/autoload.php"
         colors="true"
         convertErrorsToExceptions="true"
         convertNoticesToExceptions="true"
         convertWarningsToExceptions="true"
         processIsolation="false"
         stopOnFailure="false">
    <testsuites>
        <testsuite name="Unit">
            <directory suffix="Test.php">./tests/Unit</directory>
        </testsuite>

        <testsuite name="Feature">
            <directory suffix="Test.php">./tests/Feature</directory>
        </testsuite>
    </testsuites>
    <filter>
        <whitelist processUncoveredFilesFromWhitelist="true">
            <directory suffix=".php">./app</directory>
        </whitelist>
    </filter>
    <extensions>
        <extension class="Tests\Bootstrap"/>
    </extensions>
    <php>
        <server name="APP_ENV" value="testing"/>
        <server name="BCRYPT_ROUNDS" value="4"/>
        <server name="CACHE_DRIVER" value="array"/>
        <server name="MAIL_DRIVER" value="array"/>
        <server name="QUEUE_CONNECTION" value="sync"/>
        <server name="SESSION_DRIVER" value="array"/>
        <server name="APP_CONFIG_CACHE" value="bootstrap/cache/config.phpunit.php"/>
        <server name="APP_SERVICES_CACHE" value="bootstrap/cache/services.phpunit.php"/>
        <server name="APP_PACKAGES_CACHE" value="bootstrap/cache/packages.phpunit.php"/>
        <server name="APP_ROUTES_CACHE" value="bootstrap/cache/routes.phpunit.php"/>
        <server name="APP_EVENTS_CACHE" value="bootstrap/cache/events.phpunit.php"/>
        <server name="DB_CONNECTION" value="sqlite"/>
        <server name="DB_DATABASE" value=":memory:"/>
    </php>
</phpunit>
1
  • 1
    Please try PHPUnit 8.5 and PhpStorm 2019.3.1. Looks the same at first glance: youtrack.jetbrains.com/issue/WI-49132 (P.S. Ignore deprecation warning introduced in PHPUnit 8.5 -- WI-50201) Commented Dec 21, 2019 at 19:30

1 Answer 1

0

Upgrading to phpunit 8.5 fixed the issue (Thanks @LazyOne).

Changed in composer.json:

"phpunit/phpunit": "^8.0"

to:

"phpunit/phpunit": "^8.5"

Then ran composer update and everything is working now.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.