首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >cucumber和activemerchant重复事务处理问题

cucumber和activemerchant重复事务处理问题
EN

Stack Overflow用户
提问于 2011-08-03 15:39:39
回答 1查看 271关注 0票数 1

我用activemerchant和authorize.net跟踪黄瓜测试的代码(我知道它很旧,但它对我来说很有效)

http://www.misuse.org/science/2007/12/13/using-activemerchant-to-process-credit-cards-in-rubyrails/

无论如何,他对重复事务问题的解决方案(当快速通过许多黄瓜场景时)是为对象分配一个随机价格,以便每次都是不同的。

这样做的问题是,它实际上使得测试正确的价格几乎是不可能的。我应该如何重写我的测试或设置Authorize或Activemerchant来绕过这个问题?我正在尝试写一个测试,如果我更改了一些商品,它将检查我的购物车的总价格,这在价格是随机的情况下是不可能的。

我目前唯一的定价检查(有效)是查看ui,检查div ..total price中的价格,并检查它是否等于所有项目加在一起的价格。它确实通过了,但是如果我改变了价格呢?我当然不知道总价格是多少(因为它们都是随机的),我也不能检查新的价格(因为它仍然是随机的)

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-03 15:50:28

使用webmock或类似的库来存根authorize.net。

下面是一个例子:

代码语言:javascript
运行
复制
 Given /^authorize\.net will authorize payment$/ do
   stub_request(:post, "https://apitest.authorize.net/xml/v1/request.api").
   with(:body => /.*createCustomerProfileRequest.*/).
   to_return(:body => fixturefile("authorize_net_create_profile_ok_response.xml"))

   stub_request(:post, "https://apitest.authorize.net/xml/v1/request.api").
   with(:body => /.*createCustomerProfileTransactionRequest.*/).
   to_return(:body => fixturefile("authorize_net_authorize_ok_response.xml"))
 end

  • 免费奖励-您的测试将更快地工作,并且不依赖于authorize.net沙箱正常运行时间
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6923132

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档