qwerty Posted January 18, 2015 Report Share Posted January 18, 2015 (edited) Nesaprotu, kā pareizi ar phpunit notestēt šādu situāciju (funkcionālais tests): Aplikācijai ir route /get_articles, kas pieņem GET parametru order_by (pieļaujamās vērtības - timestamp, likes, stars, priority) Šis route aiziet uz kontrolleri, kas izdara dažas maznozīmīgas lietas, un tad izsauc Article modeli, kas pieprasa datus no DB. Testa vidē datubāzē ir 5 zināmi article. Tātad, man nav skaidrs, ko šeit testēt. Ja tas ir funkcionālais tests, tad laikam es sagaidu, ka pieprasot /get_articles, ja visi parametri ir pareizi: Response kods ir 200 Atbilde ir JSON, kurā ir atslēga articles Articli ir sakārtoti pēc order_by parametra - kā šito realizēt un vai vispār vajag? Ja parametri nav pareizi vai nav vispār padoti: Response kods ir 422 Neskaidrība ir ar to order_by parametra padošanas testēšanu. Tā kā testa datu bāzē ir tikai 5 article, tad es teorētiski varu notestēt vai iegūtie JSON dati ir sakārtoti pareizi. Kā to darīt: vai man funkcionālajā testā uztaisīt atsevišķu query, kas no datubāzes pieprasa articles ar attiecīgu order by X ? vai arī man testā hardkodēt to datu JSON, kas ir datubāzē? (sanāk, ka nav DRY, jau dati atkārtojas gan datubāzes seedā, gan testā) Vai arī to vispār nelikt funkcionālajā testā un jāraksta Article modeļa unit tests? Edited January 18, 2015 by qwerty Quote Link to comment Share on other sites More sharing options...
Kavacky Posted January 18, 2015 Report Share Posted January 18, 2015 Ja baigi liekas, ka vispār vajag kārtošanu testēt, tad testē modelī. Quote Link to comment Share on other sites More sharing options...
jurchiks Posted January 18, 2015 Report Share Posted January 18, 2015 (edited) >kā šito realizēt (pieļaujamās vērtības - timestamp, likes, stars, priority) attiecīgi savus testa datus hardkodē testā like so: test_data: { by_timestamp: [ article1 (id, visticamāk), article2, article3, article4, article5 ], by_likes: [ article3, article2, article1, article5, article4 ] ... } Un salīdzini tava route atgriezto datu secību ar šiem. >vai vispār vajag? Subjective. Ja tas order_by tiek padots datubāzes kverijam (tieši vai netieši, vienalga), tad nepareiza kārtošana tur principā nevar būt, ja vien nav vēl kādi citi ORDER BY nosacījumi, kuri kaut ko nojauc. Edited January 18, 2015 by jurchiks Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.