2011-06-13 251 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内预期的参数,并没有得到一个。

相关问题