hello:
    An action needed to test is:
def register
    @user=User.new(params[:user])
    if params[:user] && @user.save
      # if province=="北京"...,set the city attr''value the same
as
province
      province=params[:user][:province]
      if province=="北京" || province=="天津" ||
province=="重庆" ||
province=="上海" || province=="香港" || province=="澳门"
       @user.city=-DM5jFyC636MdNQYTog8Nmw@public.gmane.org
       @user.save
      end
        session[:login]=-37LZGFau30o@public.gmane.org
        flash[:register]="#{@user.name}已创建"
        redirect_to :action=>"upanel"
    else
        render :action=>"register"
    end
  end
#########################
The test is :
    require File.dirname(__FILE__) + ''/../test_helper''
require ''login_controller''
class LoginControllerTest < ActionController::TestCase
  # Replace this with your real tests.
  def setup
    @login_instance=LoginController.new
    @request=ActionController::TestRequest.new
    @response=ActionController::TestResponse.new
  end
  def test_truth
    assert true
  end
  def test_register_suc
    post :register,:user=>{:id=>1,
                    :photo=>"/images/users/fan_hong.jpg",
                    :ball_kind=>"篮球",
                    :name=>"范宏",
                    :password=>"3338179",
                    :password_confirmation=>"3338179",
                    :age=>"30",
                    :sex=>"男",
                    :education=>"本科",
                    :career=>"工程师",
                    :province=>"北京",
                    :section=>"朝阳区",
                    :email=>"fh-9Onoh4P/yGk@public.gmane.org",
                    :qq=>"369963"}
    assert_response :success
    assert_redirected_to :action=>"upanel"
    assert_equal 1,session[:login]
    assert_equal "范宏已创建",flash[:register]
    assert_equal "北京",assigns(:user).city
  end
end
#############
when i run the test,there is one fail,which says like this:
expected 1 or "范宏已创建"or "北京",but is nil.
it seems that this test does not call the method register.But in
reality,the register method work fine when i submit the form.I do not
know where is wrong in my test code.please help me! thank you!
-- 
Posted via http://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---
who can help me? -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
On Fri, 2008-07-25 at 17:21 +0200, Guo Yangguang wrote:> hello: > > An action needed to test is: > def register > @user=User.new(params[:user]) > > if params[:user] && @user.save > # if province=="北京"...,set the city attr''value the same as > province > province=params[:user][:province] > if province=="北京" || province=="天津" || province=="重庆" || > province=="上海" || province=="香港" || province=="澳门" > @user.city=-DM5jFyC636MdNQYTog8Nmw@public.gmane.org > @user.save > end > session[:login]=-37LZGFau30o@public.gmane.org > flash[:register]="#{@user.name}已创建" > redirect_to :action=>"upanel" > else > render :action=>"register" > end > end > > ######################### > The test is : > require File.dirname(__FILE__) + ''/../test_helper'' > require ''login_controller'' > class LoginControllerTest < ActionController::TestCase > # Replace this with your real tests. > def setup > @login_instance=LoginController.new > @request=ActionController::TestRequest.new > @response=ActionController::TestResponse.new > end > def test_truth > assert true > end > def test_register_suc > post :register,:user=>{:id=>1, > :photo=>"/images/users/fan_hong.jpg", > :ball_kind=>"篮球", > :name=>"范宏", > :password=>"3338179", > :password_confirmation=>"3338179", > :age=>"30", > :sex=>"男", > :education=>"本科", > :career=>"工程师", > :province=>"北京", > :section=>"朝阳区", > :email=>"fh-9Onoh4P/yGk@public.gmane.org", > :qq=>"369963"} > assert_response :success > assert_redirected_to :action=>"upanel" > assert_equal 1,session[:login] > assert_equal "范宏已创建",flash[:register] > assert_equal "北京",assigns(:user).city > end > end > > ############# > when i run the test,there is one fail,which says like this: > expected 1 or "范宏已创建"or "北京",but is nil. > it seems that this test does not call the method register.But in > reality,the register method work fine when i submit the form.I do not > know where is wrong in my test code.please help me! thank you!---- look in your test.log - the answer should be there. Craig --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---