Actualmente estoy usando rspec en un proyecto de Ruby on Rails para probar un método en un modelo.
En mi caso, tengo un método #set_temporada que devuelve la temporada en función de la fecha_actual. Así que espero que este método nunca devuelva nada.
Mi prueba está pasando bien, pero esta parece una forma muy fea de hacerlo. Simplemente no puedo ver ninguna otra solución por ahora. Pero estoy tratando de mejorar mis habilidades de prueba Y el rendimiento del código base que estoy probando. Así que cualquier ayuda de ustedes chicas y chicos es bienvenida 🙏
describe '#set_season' do it 'is never nil' do (1..12).each do |month| (1..31).each do |day| promotion.update(start_date: Time.new(2021, month, day)) promotion.set_season expect(promotion.season).not_to be_nil end end end endGracias !
Solo para cerrar este tema, decidí seguir probando mi método para cada día del año y mejoré mi bucle con (Date.today..Date.today + 1.year) como se sugiere.
describe '#set_season' do it 'is never nil' do (Date.today..Date.today + 1.year).each do |date| promotion.update(start_date: date) promotion.set_season expect(promotion.season).not_to be_nil end end end