簡體   English   中英

PHPUnit:使用@runTestsInSeparateProcesses時找不到模擬

[英]PHPUnit: Mockery not found when using @runTestsInSeparateProcesses

我將PHPUnit與Mockery結合使用,后者是通過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.x為我解決了此問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM