Se você estiver usando o BCrypt Ruby, poderá economizar bastante tempo ao executar seus testes de unidade, reduzindo o custo. Por padrão BCrypt::Password.create(unencrypted_password)
, usará um custo de 10. Eu diminuí um conjunto de testes RSpec de 25 segundos para apenas 4, apenas definindo o custo como mínimo (4) no modo de teste.
def password=(unencrypted_password)
@password = unencrypted_password
unless unencrypted_password.blank?
if Rails.env.test?
cost = BCrypt::Engine::MIN_COST
else
cost = BCrypt::Engine::DEFAULT_COST
end
self.password_digest = BCrypt::Password.create(unencrypted_password, cost: cost)
end
end