gpt4 book ai didi

ruby-on-rails-3 - 为什么我的测试不适用于此表单?

转载 作者:行者123 更新时间:2023-11-28 20:57:48 25 4
gpt4 key购买 nike

在 Firefox 中,如果我尝试提交没有标题的帖子,我会得到:1 error prohibited this post from being saved

但是当我运行测试时。这是一个不同的故事。

我的 Post 模型有 validates_presence_of :title。我的测试看起来像:

require 'spec_helper'

describe 'Users' do

it 'registered users should not be able to post without a title', :js => true do
user = Factory(:user)
visit new_post_path
current_path.should eq(new_post_path)

fill_in 'post[markdown_description]', :with => 'Bar'
click_on 'Submit your post'

page.should have_content('error')
end

end

顺便说一下,我使用的是 Selenium (:js => true),因为我的提交按钮实际上是一些 JS 的 anchor 链接。基本上,当链接被点击时,JS 触发表单提交。

Rspec 返回:

Running: spec/requests/users_spec.rb
F

Failures:

1) Users registered users should be able to post
Failure/Error: page.should have_content('error')
expected there to be content "error" in ""
# ./spec/requests/users_spec.rb:13:in `block (2 levels) in <top (required)>'

Finished in 7.9 seconds
1 example, 1 failure

Failed examples:

rspec ./spec/requests/users_spec.rb:4 # Users registered users should be able to post

最佳答案

如果您有 before_filters,请求可能不会进入 Controller 操作。检查日志以确保发布的参数正确并且操作未重定向。

另一种选择是将其包含在您的规范中:

click_on 'Submit your post'
save_and_open_page

它会在浏览器中打开当前页面,这样您就可以看到实际呈现的内容。

关于ruby-on-rails-3 - 为什么我的测试不适用于此表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7570115/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com