日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

braintree php 开发,php – 如何为使用Braintree和静态方法调用的端点编写集成测试...

發布時間:2023/12/19 php 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 braintree php 开发,php – 如何为使用Braintree和静态方法调用的端点编写集成测试... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我正在使用嚴重依賴靜態方法的Braintree PHP客戶端.

我在項目中的所有端點都包含集成測試

就像是:

Storage::shouldReceive('put')->once()->andReturn(true);

$this->post('/api/payment');

正如你所看到的,我也在使用Mockery來創建模擬.但是,由于Braintree庫嚴重依賴靜態方法,我無法創建方法,因此無法測試這些端點.

這是使用Braintree PHP客戶端編寫的代碼示例:

$result = Braintree\Transaction::sale([

'amount' => '1000.00',

'paymentMethodNonce' => 'nonceFromTheClient',

'options' => [ 'submitForSettlement' => true ]

]);

我有什么選擇?

解決方法:

this answer只有你有嘲弄才能工作1. *已安裝..早期版本不會做靜態方法嘲笑.以下代碼有效:

$brainTreeMock = Mockery::mock('alias:Braintree_Transaction');

$transaction = (object)[ 'id' => str_random(5) ];

$brainTreeMock->shouldReceive('sale')->andReturn((object)[

'success' => true,

'transaction' => $transaction

]

);

標簽:braintree,php,integration-testing,mockery

來源: https://codeday.me/bug/20190727/1556038.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的braintree php 开发,php – 如何为使用Braintree和静态方法调用的端点编写集成测试...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。