0
我正在爲我用Stripe建立的支付平臺編寫單元和集成測試,並且需要使用嘲笑模擬客戶對象,不幸的是,當我打了一下牆的時候試圖用連接的卡對象創建一個Stripe客戶。用連接卡嘲笑條紋客戶服務
這樣做的最好方法是什麼?
我正在爲我用Stripe建立的支付平臺編寫單元和集成測試,並且需要使用嘲笑模擬客戶對象,不幸的是,當我打了一下牆的時候試圖用連接的卡對象創建一個Stripe客戶。用連接卡嘲笑條紋客戶服務
這樣做的最好方法是什麼?
因爲我張貼了這個問題,我意識到,我已經創建了一個服務抽象條紋的功能,正因爲如此,我可以簡單地擴展這些功能包括createCard
updateCard
retrieveCard
和deleteCard
方法:
class StripeService implements StripeServiceContract
{
public function createCard(Stripe\Customer $customer, $source, $default = true)
{
$source = $customer->sources->create(compact('source'));
if ($default) {
$customer->default_source = $source->id;
$customer->save();
}
return $source;
}
public function retrieveDefaultCard(Stripe\Customer $customer)
{
return $customer->sources->retrieve($customer->default_source);
}
}
然後我可以用嘲弄來嘲笑這個:
Mockery::mock(StripeServiceContract::class, function (MockInterface $mock) {
$mock->shouldReceive('createCard')->andReturnUsing(function ($customer, $id, $default) {
return new Stripe\Card($id);
});
$mock->shouldReceive('retrieveCard')->andReturnUsing(function ($id) {
return new Stripe\Card($id);
});
});
請給出你試過的東西,以及結果是什麼。 – Jeff
我已經回答了我自己的問題,答案很簡單! –