katakanlah saya punya controller

FooController < ApplicationController

CLICK_LIMIT=4

def index
  session[:click]=0 unless session[:click]
  if session[:click]>CLICK_LIMIT
    session[:click]=0 
    redirect_to :action=>"bla1"
  else
    session[:click]+=1
    redirect_to :action=>"bla2"
  end
end

end

lalu saya punya functional test untuk foo controller

def test_index_go_to_bla1
  get :index,{},{:click=>5}  #-----> angka 5 ini nih biang keroknya
  assert_redirected_to :action=>"bla1"
end

def test_index_go_to_bla2
  get :index,{},{:click=>4}  #----> angka 4 ini nih biang keroknya
  assert_redirected_to :action=>"bla2"
end

______________________

btw tentu aja test ini bakalan jalan.... tapi kalo konstanta
CLICK_LIMIT katakanlah diubah jadi 20 testnya bakalan error

sayangnya method "assigns" cuma bisa dipake bwat instance variable
duank yak..., ndak bisa dipake buat konstanta

kan indah pabila

def test_index_go_to_bla2
  get :index,{},{:click=>assigns["CLICK_LIMIT"] # ----> pengennya sih
begini, tapi error he he  
  assert_redirected_to :action=>"bla2"
end

nah temans.... ada solusi indah ndak buat memanggil konstanta di
functional test

terim kasih sebelumnya


Kirim email ke