测试 Stripe 与 js: true 一起工作,但它使其他组件无法正常工作
Testing Stripe works with js: true, but it makes other components work incorrectly
测试条带框架需要打开 Javascript,但是当我在 it
方法中发送 js: true
时,其他组件如 visit
、fill_in
停止以他们以前的方式工作。
这是我的代码:
def sign_up(subdomain)
visit root_url(subdomain: false)
visit new_account_path
fill_in 'Name', with: 'Ryan'
fill_in 'Email', with: 'test@test.com'
fill_in 'Password', with: 'password'
fill_in 'Password confirmation', with: 'password'
fill_in 'Subdomain', with: subdomain
click_button 'Create Account'
end
在 sign_up
方法中,visit new_account_path
在 js: true
之前有效,但现在无效。
我正在用以下方法js: true
:
it 'shows the user can upgrade his account with valid card number, expiration and CVC', js: true do
fill_in "card_number", :with => "4242424242424242"
fill_in "card_expiry_month", :with => "05"
fill_in "card_expiry_year", :with => "2015"
fill_in "card_cvc", :with => "123"
click_button 'Upgrade Your Account'
expect(page).to have_content "Update Your Payment Information"
end
我已经找了很长时间的解决方案,但至今无法解决这个问题。
根据您的评论,您收到来自 stripe 的 API 的错误:Stripe::InvalidRequestError
。
根据他们的 API (https://stripe.com/docs/api#errors):
Invalid request errors arise when your request has invalid
parameters.
我敢打赌,您对 Stripe 的请求实际上有问题,而不是您编写的 Capybara (?) 规范。
我写了一篇博客 post,内容是关于使用 RSpec 和 Capybara 为 Stripe 编写验收测试。你可以view it here
测试条带框架需要打开 Javascript,但是当我在 it
方法中发送 js: true
时,其他组件如 visit
、fill_in
停止以他们以前的方式工作。
这是我的代码:
def sign_up(subdomain)
visit root_url(subdomain: false)
visit new_account_path
fill_in 'Name', with: 'Ryan'
fill_in 'Email', with: 'test@test.com'
fill_in 'Password', with: 'password'
fill_in 'Password confirmation', with: 'password'
fill_in 'Subdomain', with: subdomain
click_button 'Create Account'
end
在 sign_up
方法中,visit new_account_path
在 js: true
之前有效,但现在无效。
我正在用以下方法js: true
:
it 'shows the user can upgrade his account with valid card number, expiration and CVC', js: true do
fill_in "card_number", :with => "4242424242424242"
fill_in "card_expiry_month", :with => "05"
fill_in "card_expiry_year", :with => "2015"
fill_in "card_cvc", :with => "123"
click_button 'Upgrade Your Account'
expect(page).to have_content "Update Your Payment Information"
end
我已经找了很长时间的解决方案,但至今无法解决这个问题。
根据您的评论,您收到来自 stripe 的 API 的错误:Stripe::InvalidRequestError
。
根据他们的 API (https://stripe.com/docs/api#errors):
Invalid request errors arise when your request has invalid parameters.
我敢打赌,您对 Stripe 的请求实际上有问题,而不是您编写的 Capybara (?) 规范。
我写了一篇博客 post,内容是关于使用 RSpec 和 Capybara 为 Stripe 编写验收测试。你可以view it here