Closed vanderleipinto closed 7 months ago
Utilizamos um callback no factory chamado after(:create):
after(:create) do |customer, evaluator| #executa essa ação após criar o objeto.
customer.name.upcase! if evaluator.upcased #transforma em maiusculo se upcased == true
end
Mas existem outras opções de callback:
after(:build) # depois de ser criado em memória com o build ou create
#before and after(:create) antes e depois de salvar efetivamente.
Video
Callbacks no Ruby on Rails com RSpec
Em Ruby on Rails, callbacks são métodos especiais que são executados automaticamente em momentos específicos do ciclo de vida de um objeto, como antes ou depois de salvar, criar ou destruir um registro no banco de dados. Eles permitem adicionar funcionalidades personalizadas a esses eventos, como validações adicionais, envio de notificações ou lógica específica do seu aplicativo.
No RSpec, você pode testar callbacks usando as seguintes técnicas:
1. Testes de Unidade:
expect().to receive(:method_name)
para verificar se o método de callback foi chamado com os argumentos esperados.Exemplo:
2. Testes de Integração:
Exemplo:
3. Stubs e Mocks:
Exemplo:
Recursos adicionais:
Dicas:
Espero que esta resposta tenha ajudado a entender os callbacks no Ruby on Rails e como testá-los com o RSpec!