0

我有以下有趣的场景:

测试系统,在我的例子中,ActiveMerchant 的 BogusGateway 需要“伪造”类型的信用卡才能有效。当然,这不是我提供给用户的选项之一。

在我的请求规范中,我试图用“虚假”覆盖签证的原始值,但我不清楚它是如何完成的。我尝试过类似的方法,但没有运气:

# setting the value for the visa card to be 'bogus'
find(:xpath, "//input[@id='billing_account_card_type_visa']").set "bogus"

# then clicking on the radio button...
choose "billing_account_card_type_visa"

任何帮助将不胜感激。

4

3 回答 3

2

如果用户不能选择那个选项,Capybara 应该怎么做呢?

不要模仿无法执行的用户操作,只需使用无效参数发出请求:

post "/my_billing_path", :billing_account => { :card_type => "bogus }

于 2012-08-28T03:26:23.413 回答
0

您可以只使用水豚的fill_inchoose方法:

fill_in("billing_acount_card_type_visa", :with => "bogus")
choose("billing_account_card_type_visa")
于 2012-08-28T03:08:37.670 回答
0

使用以下数字通过验证并使用 capybara 和虚假网关测试成功的交易:

  • 签证 = 4111111111111111
  • 万事达卡 = 5500000000000004
  • 美国运通 = 340000000000009
  • 发现 = 6011000000000004
于 2013-04-03T00:14:58.800 回答