Hartl的Rails教程第7章练习2.我很难创建错误消息的测试

时间:2012-12-22 06:53:36

标签: ruby-on-rails ruby railstutorial.org

我正在尝试为错误消息创建测试,以显示是否将无效数据输入到Michael Hartls的rails教程练习2的注册表单中。他提供了“建议的开始”:

describe "signup" do

 before { visit signup_path }
 .
 .
 .
  describe "with invalid information" do
   .
   .
   .
   describe "after submission" do
     before { click_button submit }

     it { should have_selector('title', text: 'Sign up') }
     it { should have_content('error') }
   end

我的想法是在'错误'之后添加一些内容。但到目前为止还没有奏效。使用上面我得到RSpec错误消息:

1) UserPages signup with invalid information after submission it should 
 Failure/Error: it { should have_selector('error') }
   expected css "error" to return something
 # ./spec/requests/user_pages_spec.rb:37:in `block (5 levels) in <top (required)>'

到目前为止,我已经完成了教程。我以为我的测试最多了!建议?

1 个答案:

答案 0 :(得分:0)

欢迎使用StackOverflow和Rails社区。

您正在学习编写自动化测试,这很棒。您应该尝试的第一件事是访问您在浏览器中构建的webapp的此页面。你能否触发你期望的验证错误?你在页面上看到它的CSS错误类应用于它的容器吗?您可以使用Web检查器/调试器工具检查所有这些。

您看到的错误意味着自动化测试期望在页面上找到具有CSS类“错误”的DOM元素,但是没有返回任何元素。

我敢打赌,如果您自己查看该页面,您可以弄清楚为什么它不会触发验证错误并显示您期望的显示。

祝你好运