[英]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 update
和composer 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.