我想为以下方法编写测试用例。我是单元测试新手。请让我知道为以下方法编写测试用例的正确方法。如何使用此方法的rspec编写测试用例
def create_new_user
self.password_salt = BCrypt::Engine.generate_salt
self.password_hash = BCrypt::Engine.hash_secret(self.password, password_salt)
user = User.new(email: self.email, username:self.username, password_hash: password_hash, password_salt: password_salt)
if user.valid?
user.save ? {is_created: true, err:''} : {is_created: false, err:'Something went wrong,please try later...'}
else
{is_created: false, err: 'Please enter all mandetory fields..'}
end
end
究竟是什么问题在这里?你不熟悉rspec语法?单元测试一般? –
@SergioTulentsev我是rspec新手。只有rspec才有2-3天的时间。我正在寻找像“expect(user).to be saved”这样的语法,如果它是一个有效的用户。以及如何测试“BCrypt :: Engine.generate_salt”。我的意思是说如何测试BCrypt应该生成盐然后散列 –
为什么你认为你需要测试BCrypt方法?这个lib经过了开发人员的严格测试。没有必要重复努力。不过,您可能会检查调用的方法是否正确。例如,期望(BCrypt :: Engine)。接收(:generate_salt)和call_original。 –