我只是在关注 Omnipay,目的是增加对另一个网关的支持。使用 Composer 安装后,我尝试运行 Paypal(作为示例网关)和 Omnipay Common 测试。使用这两个包,我调整了 bootstrap.php 以便它可以找到作曲家自动加载文件。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。我正在运行通过 Macports 在 OS X Mavericks 上安装的 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
其中“...”是我的源代码区域。