Endijs Posted September 26, 2008 Report Posted September 26, 2008 Kā ir - savā ikdienas darbā (tiem, kas ar PHP kodē) - PHPUnit testus rakstat? Ja jā - cik daudz? Vai izmantojat kaut ko līdzīgu PHP Under Control vai tml? Ja neizmantojat ne PHPUnit testus ne PHP Under Control - kāpēc?
andrisp Posted September 26, 2008 Report Posted September 26, 2008 Neizmantoju. Šobrīd vēl liekas, ka pārāk čakarīgi un pārāk daudz laika aizņemtu. Kaut gan, protams, visur jau raksta, ka iepraktizējoties, pat produktīvāks paliec. :)
Endijs Posted September 26, 2008 Author Report Posted September 26, 2008 Njā. Es arī kādu laiku atpakaļ pamēģināju, bet tā kā sanāca iztērēt samērā daudz laika, tad ideju atmetu. Bet tagad sāku domāt, ka ja jau tāda lieta ir un viņu lielie vīri aktīvi izmanto, tad droši vien, ka ir jēga no tā. Varbūt ka jāpamēģina atkal.
bubu Posted September 26, 2008 Report Posted September 26, 2008 Gluži nav par PHP (bet par Python un C++), bet es, atnākot strādāt uz patreizējo darbu, arī nespēju piespiest sevi rakstīt kārtīgus unittestus kādus te visi rakstīja. Likās lieka laika tērēšana. Vēlāk sapratu, ka jādomā otrādāk - vispirms jāraksta unittests, lai zinātu, kā tu klasi/moduli izmantosi, kāds būs tās interfeiss un tml.. Un tikai tad jāraksta kodu. Šādi es laiku pat ietaupīju, jo no sākuma jau tika izdomāts un saprasts kādai jābūt tai klases/moduļa darbībai, iekšienei un interfeisam. Rakstot pašu klasi vairs vajadzēja mazāk aizdomāties.
Toms Posted September 26, 2008 Report Posted September 26, 2008 Man līdzīgs stāsts kā Endijam. Bubu labu domu pameta - sanāk, ka testos uzraksti reālo situāciju pieprasījumus (scenārijus) un tad raksti klasi, kas tos apstrādās? Man iepatikās šī doma.
Kristabs Posted September 26, 2008 Report Posted September 26, 2008 @Toms - http://en.wikipedia.org/wiki/Test-driven_development
v3rb0 Posted September 26, 2008 Report Posted September 26, 2008 Lai izmantotu testus sarakstītājam ir jābūt "testēšanai draudzīgam". paņemt jebkuru jau esošu projektu un izdomāt, ka no šodienas rakstu testus būs diezgan grūti un diezgan ātri atmetīs tādu ideju kā lieku laika tērēšanu. Tāpēc, tiem, kas tagad šito salasās un gribēs pamēģināt vispirms testus, tad pašu kodu pieeju, iesaku sākt ar jaunu projektiņu.
Toms Posted September 26, 2008 Report Posted September 26, 2008 Kristabs, varbūt tev ir zināms arī labs koda piemērs? Tāds, kas būtu rakstīts pēc "best practices"? Kā izskatās tests un kā pats kods..
marrtins Posted September 26, 2008 Report Posted September 26, 2008 Man tas viss pasākum atdurās pret DB - mājas lapa vai softs, bet visam pamatā ir DB. Katra metodes izsaukums - rezultātā darbs ar DB. Neesmu atradis *ērtu* veidu, kā šādā vidē kautko testēt? Katru reizi ielādēt svaigu DB? Pēc testiem tīrīt?
Endijs Posted September 26, 2008 Author Report Posted September 26, 2008 Man doma ir tāda (sakarā ar DB). Visu laiku turēt testa DB. Uzrakstīt skriptu, kas iztīra testa DB un atkal aizpilda ar datiem (pirms katras testēšanas). Protams, tīrīšana un atkal datu ievietošana notiek tām daļām, kuras testē. Ja testējam kaut ko ar pāris tabulām - pārtaisam tās. Laižam visus testus - pārtaisam visu DB. Ja tā nav pareizi - zinātāji gan jau palabos. Man īsti nav pieredzes ar šito.
v3rb0 Posted September 26, 2008 Report Posted September 26, 2008 viss pasākum atdurās pret DB Mocks un Stubs, un pašu pasākumu plānto izmantojot IoC idejas.
Recommended Posts