嘲笑 class 那 returns 另一个嘲笑 class
Mockery mock class that returns another mocked class
我有一个class
<?php
class Cards
{
public function __construct($id) {
$this->id = $id;
}
public function add($card) {
// Make API call
return true;
}
}
和另一个 class returns 卡片 class
<?php
class Payment
{
public function cards() {
return new Cards('1');
}
}
而且我似乎无法弄清楚如何模拟付款,所以它 returns 模拟了卡片。基本上我想
模拟支付所以它 returns 一个模拟的卡片,允许像
这样的功能
function() {
$vault = new Payment;
$cards = $vault->cards();
if ($cards->add()) {
// do stuff
}
}
无需 API 调用支付处理器即可进行模拟和测试。
问题是您正在尝试使用 new
关键字实例化 Card
class。这使得(几乎)不可能嘲笑它。您可以使用几种不同的技术来替换 new
关键字,最简单的方法是将实例传递到 Payment
构造函数或直接传递到方法中。
我有一个class
<?php
class Cards
{
public function __construct($id) {
$this->id = $id;
}
public function add($card) {
// Make API call
return true;
}
}
和另一个 class returns 卡片 class
<?php
class Payment
{
public function cards() {
return new Cards('1');
}
}
而且我似乎无法弄清楚如何模拟付款,所以它 returns 模拟了卡片。基本上我想
模拟支付所以它 returns 一个模拟的卡片,允许像
这样的功能function() {
$vault = new Payment;
$cards = $vault->cards();
if ($cards->add()) {
// do stuff
}
}
无需 API 调用支付处理器即可进行模拟和测试。
问题是您正在尝试使用 new
关键字实例化 Card
class。这使得(几乎)不可能嘲笑它。您可以使用几种不同的技术来替换 new
关键字,最简单的方法是将实例传递到 Payment
构造函数或直接传递到方法中。