2011-06-13 256 views
2

錯誤說 「引發ArgumentError:錯誤#參數(0 1)」 爲:引發ArgumentError:錯誤#參數(0 1)Rails的單元測試

def test_auth 
    #check that we can login we a valid Usuario 
    assert_equal @bob, Usuario.autenticar("bob", "test") 
end 

但是,autenticar確實需要2個參數:

def self.autenticar(usuario, clave) 
    u=find(:first, :conditions=>["usuario = ?", usuario]) 
    return nil if u.nil? 
    return u if Usuario.encrypt(clave, u.salt)==u.clave 
    nil 
end 

最新情況?

+1

您是否檢查了哪條線路導致錯誤? * 1表示1 *表示預期有1個參數,但給出了0個參數,因此不可能是對'autenticar'的調用。 – mikej 2011-06-13 14:24:59

+1

顯然錯誤發生在這一行:返回u如果Usuario.encrypt(clave,u.salt)== u.clave – tiiin4 2011-06-13 14:29:00

+2

這聽起來像'u.salt'或'u.clave'實際上是一個函數,期望在至少一個參數。 – Kai 2011-06-13 14:48:26

回答

0

正如評論部分所述,方法claveautenticar內預期的參數,並沒有得到一個。

相關問題