Ruby on rails cucumber与activemerchant重复交易问题

Ruby on rails cucumber与activemerchant重复交易问题,ruby-on-rails,cucumber,authorize.net,activemerchant,Ruby On Rails,Cucumber,Authorize.net,Activemerchant,我使用activemerchant和authorize.net进行黄瓜测试时遵循了这段代码(我知道这段代码很旧,但它对我很有用) 不管怎么说,他对重复交易问题的解决方法(当快速处理许多黄瓜场景时)是给对象分配一个随机价格,这样每次都会不同 这样做的问题是,它实际上使测试正确的价格几乎不可能。我应该如何重写我的测试或设置授权或Activemerchant以绕过此问题?我试图写一个测试,将检查如果我改变了一些项目,如果我的购物车的总价格,这将是不可能的价格是随机的 我目前唯一的定价检查(有效)是查

我使用activemerchant和authorize.net进行黄瓜测试时遵循了这段代码(我知道这段代码很旧,但它对我很有用)

不管怎么说,他对重复交易问题的解决方法(当快速处理许多黄瓜场景时)是给对象分配一个随机价格,这样每次都会不同

这样做的问题是,它实际上使测试正确的价格几乎不可能。我应该如何重写我的测试或设置授权或Activemerchant以绕过此问题?我试图写一个测试,将检查如果我改变了一些项目,如果我的购物车的总价格,这将是不可能的价格是随机的

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

谢谢

使用或类似的库对stub.net进行授权

下面是一个例子:

 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沙盒正常运行时间
使用或类似的库对stub.net进行授权

下面是一个例子:

 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沙盒正常运行时间

哇,太快了!嗯,我会研究这一点,并接受当我得到这个工作(因为有很多地方我需要改变测试)。现在,请投赞成票:)哇,太快了!嗯,我会研究这一点,并接受当我得到这个工作(因为有很多地方我需要改变测试)。现在请投赞成票:)