I call a test method on posting data to a signup form def test_bad_signup u = User.new post :signup, :user => { :login => "newbob", :password => "newpassword", :password_confirmation => "wrong" , :email => "newbob@mcbob.com"} assert_response :success assert !u.valid? assert u.errors.on(:password) assert_template "user/signup" assert_nil session[:user] end
Here is the signup.html.erb <%= form_tag :action=> "signup" %> <%= error_messages_for 'user' %><br/>
<label for="user_login">Username</label><br/> <%= text_field "user", "login", :size => 20 %><br/>
<label for="user_password">Password</label><br/> <%= password_field "user", "password", :size => 20 %><br/>
<label for="user_password_confirmation">Password Confirmation</label><br/> <%= password_field "user", "password_confirmation", :size => 20 %><br/>
<label for="user_email">Email</label><br/> <%= text_field "user", "email", :size => 20 %><br/>
<%= submit_tag "signup" %> <% end %>
I get the following error: test_bad_signup(UserControllerTest): ActionView::TemplateError: C:/VR/RailsPrograms/health/app/views/user/signup.html .erb:24: syntax error, unexpected keyword_ensure, expecting $end On line #24 of app/views/user/signup.html.erb 21: 22: <% end %> test/functional/user_controller_test.rb:43:in `test_bad_signup' C:/Ruby19/lib/ruby/1.9.1/minitest/unit.rb:436:in `run' C:/Ruby19/lib/ruby/1.9.1/minitest/unit.rb:415:in `block (2 levels) in run_te st_suites' C:/Ruby19/lib/ruby/1.9.1/minitest/unit.rb:409:in `each' C:/Ruby19/lib/ruby/1.9.1/minitest/unit.rb:409:in `block in run_test_suites' C:/Ruby19/lib/ruby/1.9.1/minitest/unit.rb:408:in `each' C:/Ruby19/lib/ruby/1.9.1/minitest/unit.rb:408:in `run_test_suites' C:/Ruby19/lib/ruby/1.9.1/minitest/unit.rb:388:in `run' C:/Ruby19/lib/ruby/1.9.1/minitest/unit.rb:329:in `block in autorun'
Can someone please tell me what is wrong?