別のゲートウェイのサポートを追加することを目的として、Omnipay を検討しています。Composer でインストールした後、Paypal (サンプル ゲートウェイとして) と Omnipay Common テストを実行してみました。両方のパッケージで、bootstrap.php を調整して、composer autoload ファイルを見つけられるようにしました。Paypal テストは正常に実行されます (緑)。
ただし、一般的なテストは 1 回の失敗と 38 個のエラーで失敗します。すべての失敗/エラーは、AbstractGatewayTest、AbstractRequestTest、AbstractResponseTest にあります。
これは、PHPUnit または Mockery がモック化された抽象クラスを処理する方法に何か変更があったのではないかと思います。PHPUnit 3.7.34 を使用しています。私は最近、Laravel プロジェクトに PHPUnit 4.0.* を使用していますが、Omnipay には 3.7 が必要です。
composer.lock は、Mockery 0.9.0 を使用していることを示しています。OS X Mavericks の macports 経由でインストールされた php 5.4.* を実行しています。
誰が私をつまずかせているのかについての洞察を持っていますか? ありがとう!
編集:失敗メッセージの例:
38 個のエラーがありました。
1) Omnipay\Common\AbstractGatewayTest::testGetShortName
BadMethodCallException: Method Mockery_0_Omnipay_Common_AbstractGateway::getDefaultParameters() does not exist on this mock object
.../vendor/omnipay/common/src/Omnipay/Common/AbstractGateway.php:53
.../vendor/omnipay/common/src/Omnipay/Common/AbstractGateway.php:40
.../vendor/mockery/mockery/library/Mockery/Container.php:426
.../vendor/mockery/mockery/library/Mockery/Container.php:210
.../vendor/mockery/mockery/library/Mockery.php:71
.../vendor/omnipay/common/tests/Omnipay/Common/AbstractGatewayTest.php:12
2) Omnipay\Common\Message\AbstractRequestTest::testInitializeWithParams
Argument 1 passed to Omnipay\Common\Message\AbstractRequest::__construct() must implement interface Guzzle\Http\ClientInterface, none given
.../vendor/omnipay/common/src/Omnipay/Common/Message/AbstractRequest.php:46
.../vendor/mockery/mockery/library/Mockery/Container.php:426
.../vendor/mockery/mockery/library/Mockery/Container.php:210
.../vendor/mockery/mockery/library/Mockery.php:71
.../vendor/omnipay/common/tests/Omnipay/Common/Message/AbstractRequestTest.php:14
「...」は私のソースコード領域です。