我目前在轨道上处理ruby的测试用例,并意识到我传递的参数没有传递给我的控制器。
这是我的控制器的测试用例
test "should get addUser" do
user_info = User.create_user("TEST1","TEST1")
assert_equal(user_info,true,"Assert Failed")
User.create_user包含
def self.create_user(username,password)
if username == "" || password == "" and username == nil || password == nil
register = User.new({:username => username,:password => password})
end
return register.save
end
结果还显示了2个断言,但我只声明了一个断言。
答案 0 :(得分:0)
问题在于你的条件:
if username && password && !username.empty? && !password.empty?
unless ['', nil].include?(username) || ['', nil].include?(password)
两者都有效。
最后,在Rails中,如果多个空格也不是有效值,则可以使用blank?
(对于用户名和密码通常是个好主意):
unless username.blank? || password.blank?
-
if username == "" || password == "" and username == nil || password == nil
只有在(用户名或密码为空)和(用户名或密码为零)时才会通过,所以只能使用这些组合:
{ password: '', username: nil }
{ password: nil, username: '' }
关于2个断言,我们需要更多代码来帮助(至少在这里测试结束时缺少结束)