ruby-on-rails - 使用 Cucumber 测试无效的表单提交

标签 ruby-on-rails cucumber capybara bdd

我有一个简单的 Cucumber 测试,看看在输入无效凭据时,用户是否会被发送回注册页面。

我的最后一步如下所示:

Then /^I should be on the registration page$/ do
  current_path.should == new_user_registration_path
end

但是,当有人提交表单并返回错误时,他们实际上最终会出现在“/users”上,而不是“/users/sign_up”

我假设这是因为 user_registration POST 方法映射到/users。但我不等待测试/users,因为理论上这可能是用户的索引,我不希望它成为错误页面。

是否有更好的方法来测试 Rails 中的表单错误?

最佳答案

您应该测试用户最终访问的页面是否包含错误文本。将 Cucumber 测试视为手动测试:表单提交后不会检查 url,但会查看页面内容以了解提交是否成功

关于ruby-on-rails - 使用 Cucumber 测试无效的表单提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11444303/

相关文章:

mysql - 如何处理查询中的 %?

ruby-on-rails - Rails - 我怎样才能只运行 cucumber 测试?

ruby-on-rails - capybara 按钮 JS 响应 ActionController 错误

ruby-on-rails - PG::ConnectionBad: FATAL: 用户密码验证失败

ruby-on-rails - SSE 消息是否通过 https 连接加密?

java - 如何在没有冗余的情况下访问通过 Java 中的 Gherkin 步骤定义创建的公共(public)变量?

ruby-on-rails - 菠菜与 cucumber 在 Rails 中的 BDD

ruby - 如何在 Capybara 中使用 synchronize?

ruby-on-rails - 如何使用 Cucumber 测试非 Ruby、非 Rack API

ruby-on-rails - 使用 Oj.dump 序列化时将符号转换为字符串