Ho duecento test e lavoro molto con data / ora. In alcuni test, mirano al formato di output, altrove, controllo gli intervalli di date. Pertanto, i miei test hanno molti di questi:
FactoryGirl.create(:foo, ended_at: Time.zone.local(2014, 5, 5, 22, 15))
Ho pensato, forse c'è una scorciatoia per questi, dato che in alcuni file di test, lavoro solo con pochi timestamp.
FactoryGirl.create(:foo, ended_at: may_5_22_15)
Dove may_5_22_15 sarebbe definito nel metodo o usando let
.
È un buon modo per andare?
Aggiornamento: altro contesto (grazie a @Snowman per indicare)
La motivazione per questo è migliorare la leggibilità di testsuite. Mi risulta più facile leggere "Foo terminato il 5 maggio alle 22:15" piuttosto che analizzare un gruppo di numeri nel costruttore di Time.
Il modello ha molti attributi data / ora (ended_at, started_at, closed_at ...) e più specifiche scrivo, più costruttori Time uso e riuso. Quindi ho pensato che potevo fare qualcosa del genere:
let(:may_5_22_15) { Time.zone.local(2014, 5, 5, 22, 15) }
Quello che mi piacerebbe sapere è se questa è una buona pratica o meno, in termini di manutenzione della suite di test, leggibilità o se ci sono dei motivi per non farlo.