Sta*_*ers 4 automated-tests ruby-on-rails
这个测试不断失败,我不知道为什么:
test "correctly formatted profile_name2" do
user = User.new(first_name: 'Jim', last_name: 'Johnson', email: 'jim@teamtreehouse.com', password: 'awfawwf', profile_name: "jimmy")
puts user.errors.inspect
assert user.valid?
end
Run Code Online (Sandbox Code Playgroud)
我试图通过该puts user.errors.inspect声明找出答案,但我得到了一个数组(我认为),它只是简单地列出数据库输入,而不是确切地说是失败了.
为了澄清:
<ActiveModel::Errors:0x00000103c8ad30 @base=#<User id: nil, first_name: "Jim", last_name: "Johnson", profile_name: "jimmy", email: "jim@teamtreehouse.com", encrypted_password: "$2a$04$LTOb5O.gG0DEITsb/HDOb.fPLP83LaXzKlEerwCDE1og...", reset_password_token: nil, reset_password_sent_at: nil, remember_created_at: nil, sign_in_count: 0, current_sign_in_at: nil, last_sign_in_at: nil, current_sign_in_ip: nil, last_sign_in_ip: nil, confirmation_token: nil, confirmed_at: nil, confirmation_sent_at: nil, unconfirmed_email: nil, failed_attempts: 0, unlock_token: nil, locked_at: nil, authentication_token: nil, created_at: nil, updated_at: nil>, @messages={}>
Run Code Online (Sandbox Code Playgroud)
在将来的测试中,在测试中使用哪些语句进行打印以明确显示出现了什么问题?
小智 7
而不是在测试中输出更详细的信息,也可能有助于设置TESTOPTS参数以在运行测试时获得详细输出.
例如,您可以这样设置:
rake test TESTOPTS="-v"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1587 次 |
| 最近记录: |