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和静态方法调用的端点编写集成测试...相关推荐
- braintree支付开发整合paypal
braintree支付开发 braintree介绍 流程介绍 前端从服务端请求一个客户端令牌,并初始化客户端SDK. 服务端SDK生成客户端令牌并将其发送回客户端 客户提交付款信息,客户端SDK将该信 ...
- Android深度探索(卷1)HAL与驱动开发 心得体会 第十章 嵌入式Linux的调用技术
Android深度探索(卷1)HAL与驱动开发 心得体会 第十章 嵌入式Linux的调用技术 对于复杂的Linux驱动以及HAL等程序库,需要使用各种方法对其进行调试.例如,设置断点,逐步跟踪代码. ...
- HBuilder开发旅游类APP(一) ----- 实现地图插件调用、苹果和安卓同步混合开发
HBuilder开发旅游类APP(一) ----- 实现地图插件调用.苹果和安卓同步混合开发 作者:班尼科 本博文内容参考了网络资源,但文章完全是本人原创,喜欢请给我点赞,转载请注明出处哦. 标签: ...
- Qt开发Activex笔记(二):Qt调用Qt开发的Activex控件
若该文为原创文章,转载请注明原文出处 本文章博客地址:https://blog.csdn.net/qq21497936/article/details/113789693 长期持续带来更多项目与技术分 ...
- 软件开发Linux环境下,java通过JNA调用so报错,求大神解答,感激不尽。
软件开发Linux环境下,java通过JNA调用so报错,求大神解答,感激不尽. 图片说明 最佳答案: 专家已采纳 先用c等调用一下so,看函数能否正确调用 文章来源:https://ask.csdn ...
- braintree php 开发,PHP关于Braintree支付
现国内关于Braintree支付的资料少之又少,所以我来分享下关于Braintree支付的相关代码,希望能对需要的人有所帮助. 一 :获取key以及MerchantID. 1.1:首先在https:/ ...
- 《GDAL源码剖析与开发指南》一一1.9 简单的调用
本节书摘来自异步社区出版社<GDAL源码剖析与开发指南>一书中的第1章,第1.9节,作者:李民录 更多章节内容可以访问云栖社区"异步社区"公众号查看. 1.9 简单的调 ...
- 敏捷开发用户故事系列之二:如何面向客户价值编写故事
这是敏捷开发用户故事系列的第二篇.(之一,之二,之三,之四,之五,之六,之七,之八,之九) 敏捷开发中的用户故事采用的语法模式看似简单,却蕴含着深刻的思想. "作为一个--,可以--,以(以 ...
- 微信小程序开发系列六:微信框架API的调用
微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 微信小程序开发系列三:微信小程序的调试方法 微信小程序开发系列四:微信小程序 ...
最新文章
- MapReduce进阶:多MapReduce的链式模式
- [导入]关于复制目录架构
- 分布式技术一周技术动态 2016.07.10
- Python爬虫淘宝商品详情页价格、类似数据
- Unity动画系统详解9:Target Matching是什么?
- hashmap是线程安全的吗?怎么解决?_线程安全及三种解决方案
- VC++ 进度条更新方案
- python 保存文件 吃内存_python检测空间储存剩余大小和指定文件夹内存占用的实例...
- Citrix XenDesktop如何发布LocalApp
- android谷歌打印插件下载地址,谷歌浏览器打印插件:Print Plus
- excel保存csv文件数字失真解决办法
- 网站SEO优化::降低网站跳出率、提高用户粘度网站用户粘度
- pytorch torch.nn到底是什么?
- Word学习笔记:P12-合并打印信封与标签设定
- 最适合python程序员用的笔记本-JupyterLab:程序员的笔记本
- Vue2+VueRouter2+Webpack+Axios 构建项目实战2017重制版(十一)阶段性小结
- exchange外网访问和证书配置
- R语言构造扑克牌自动发牌,洗牌
- 解决!Google Play 设备未获得Play保护机制认证
- n枚硬币问题(假币问题)——分治法(减治法)
热门文章
- the code place where the binding is converted to final value displayed in ui
- 什么是服务器的SSL PSE
- IBASE save - my toolset investigation
- How where used list in SAP GUI is implemented
- Fiori Elements setBusyIndicatorDelay调试的几个关键点
- 如何测试 SAP OData的filter功能
- SAP Customer Data Cloud的Audit log设置
- 使用jMeter构造逻辑上有依赖关系的一系列并发请求
- SAP CRM呼叫中心异步搜索功能的实现
- 2020各大网站rss订阅源地址_RSS订阅器inoreader一些使用心得