Un unit test, mai ales dacă este scris în maniera BDD, încearcă să urmeze o exprimare de genul it_should_validate_numeric_username
. Dacă nu e BDD, atunci testul are o denumire la fel de explicită, de forma numeric_username_is_valid
. Este lizibil, este eficient, este OK. Până acum nu m-am gândit că treaba asta s-ar putea îmbunătăți în vreun fel.
Zilele trecute am găsit niște teste în Clojure care au o exprimare senzațională: facts! Adică știm că un username poate fi numeric, deci is a fact. E un adevăr! Atunci, de ce n-am scrie testele în acest fel?
Grupăm testele în facts
:
(facts
"about engine panel events"
Iar fiecare test este un fact
:
(fact
"engine direction event"
Nu știu vouă, dar mie mi se pare foarte, foarte mișto exprimarea asta.