当我尝试从 PhpStorm 运行 PHPUnit 时出现错误

2022-08-30 21:10:15

当我尝试在IDE PhpStorm中运行PHPUnit测试时,我几乎没有问题。

我使用作曲家文件,它看起来像:

{
    "require": {
        "phpunit/phpunit": "3.7.19"
    }
}

现在,当我运行测试时,我收到了异常:PHP Fatal error: Uncaught exception 'PHPUnit_Framework_Exception' with message 'Class "PHPUnit_Extensions_RepeatedTest" does not extend PHPUnit_Framework_TestCase.'

怎么了?当我包括梨安装版本测试工作正常。

//编辑示例测试类:

 class ReaderTest extends PHPUnit_Framework_TestCase
    {
        /**
         * @test
         */
        public function shouldGetReadedValue ()
        {
            $this->assertTrue(true);
        }
    }

//编辑2跟踪:

/usr/bin/php /tmp/ide-phpunit.php --no-configuration /path/to/my/project
Testing started at 14:53 ...
PHP Fatal error:  Uncaught exception 'PHPUnit_Framework_Exception' with message 'Class "PHPUnit_Extensions_RepeatedTest" does not extend PHPUnit_Framework_TestCase.' in /path/to/my/project/vendor/phpunit/phpunit/PHPUnit/Framework/TestSuite.php:183
Stack trace:
#0 /path/to/my/project/vendor/phpunit/phpunit/PHPUnit/Framework/TestSuite.php(315): PHPUnit_Framework_TestSuite->__construct(Object(ReflectionClass))
#1 /path/to/my/project/vendor/phpunit/phpunit/PHPUnit/Framework/TestSuite.php(389): PHPUnit_Framework_TestSuite->addTestSuite(Object(ReflectionClass))
#2 /path/to/my/project/vendor/phpunit/phpunit/PHPUnit/Framework/TestSuite.php(416): PHPUnit_Framework_TestSuite->addTestFile('/var/www/php-sh...')
#3 /path/to/my/project/vendor/phpunit/phpunit/PHPUnit/Runner/BaseTestRunner.php(96): PHPUnit_Framework_TestSuite->addTestFiles(Array)
#4 /path/to/my/project/vendor/phpunit/phpunit/PHPUnit/TextUI/Command.php(150): PHPUnit_Runner_BaseTestRunner->getTest('/var/www/php-sh...', '', A in /path/to/my/project/vendor/phpunit/phpunit/PHPUnit/Framework/TestSuite.php on line 183

Process finished with exit code 255

答案 1

我找到了关于这个问题的解决方案。

在“编辑目录中的配置”中,设置测试目录 () 的路径,在此测试正常运行后。/path/to/my/project/tests


答案 2

多亏了Piotr上面的回答,这对我有用,但是我在这里提供了我必须做的所有步骤的更确切的细节:

使其工作的步骤(在PHPStorm 8.0.1中测试):

1) 在 中,请确保未为默认配置文件或默认引导文件设置任何内容。Preferences > PHP > PHPUnit

2) 通过小节中创建自定义 PHPUnit 配置 ,并确保:Run > Edit Configurations >Command Line

a) 设置为 Custom working directory:/absolute/path/to/vendor

b) 选中“使用备用配置文件:”并将其设置为 /absolute/path/to/vendor/your_app/(sub_app_if_applicable)/phpunit.xml.dist

然后,您可以通过指定类和文件来运行套件中的任何测试类,或者只需选中“在配置文件中定义”以根据配置运行所有这些测试类。


推荐