PHPUnit:使用@runTestsInSeparateProcesses时没有发现嘲弄



我使用的是PHPUnit和mock,后者是通过composer安装的:

"require-dev": {
    "mockery/mockery": "0.9.*"
},
现在,考虑以下测试用例
<?php
use Mockery as m;
class FooTest extends PHPUnit_Framework_TestCase {
    function testFoo() {
        m::mock('DateTime');
    }
}

phpunit运行良好。现在考虑以下内容:

use Mockery as m;
/**
 * @runTestsInSeparateProcesses
 * @preserveGlobalState disabled
 */
class FooTest extends PHPUnit_Framework_TestCase {
    function testFoo() {
        m::mock('DateTime');
    }
}

在这种情况下,我得到一个Class 'Mockery' not found异常。

没有找到

Mockery -实际上,/vendor目录中没有找到任何东西,好像编写器自动加载完全搞砸了。我已经运行了composer updatecomposer dump-autoload

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"
         syntaxCheck="false"
>
    <testsuites>
        <testsuite name="Package Test Suite">
            <directory suffix=".php">./tests/</directory>
        </testsuite>
    </testsuites>
</phpunit>

我使用的是PHPUnit 3.7.10,我用命令行phpunit运行测试,没有任何参数。

我怎么能解决这个问题?

升级到PHPUnit 4。

相关内容

  • 没有找到相关文章