Probabil veți fi tentați să ziceți: „e greu să scrii teste (bune)!”. Ia fiți atenți aici.
De la prânz stau să-mi setez un env de test pentru povestea de care am zis aici. Cam prin ce am trecut:
- Instalat gulp-jasmine (pentru a-l rula în consolă);
- Plugin-ul ăsta nu știe să încarce și vendori (nu pot face bundle și la backbone, jquery și underscore pentru că sunt bundled de altcineva)
- Am găsit gulp-jasmine-ceva, care știe să încarce vendori dar nu știe alte căcaturi;
- Răscolit internetul și am găsit cazuri asemănătoare cu ce vreau eu. Am nevoie de karma! Yay.
- Instalez și Karma, fac un
karma.conf
, și pierd vreo jumătate de oră să-mi dau seama căframeworks: ['jasmine']
ar trebui să fie, de fapt,frameworks: ['karma-jasmine']
; - Totul e minunat, runnerul funcționează, intru pe
http://localhost:9876/
șiii…Uncaught TypeError: Cannot read property 'extend' of undefined
(doar nu credeam că va funcționa așa repede!)
În acest moment sunt pe punctul de a renunța la teste rulate în consolă și mă gândesc serios să le rulez în jasmine în browser…
Mai demult voiam să fac set-up pentru testele de WP. Și acolo era o încurcătură atât de încurcată încât aproape renunțasem după câteva ore bune (în final reușisem, dar la următorul proiect, când am avut nevoie… n-am reușit să-l fac rapid, deci iar m-am chinuit…).
PHPUnit? Pe versiunea veche a documentației nu scria nicăieri că bootstrap === autoload.php. Am pierdut și acolo câteva ore pentru a-mi da seama de asta. Când am reușit, cel mai simplu test rula în vreo trei secunde și am avut nevoie de mai bine de un an să-mi dau seama că problema era de la xdebug.
Doar mie mi se pare obositor (și un pic arcane) tot procesul de set-up?
Când sunteți nervoși că nici un coleg nu testează codul, încercați să-i întrebați: „ai reușit să faci runnerul să meargă?”