Implementace a testy na jednom místě? rubrika: Programování: Jiné

15 Vašek Ch.
položil/-a 12.3. 10:44

Ahoj, máte unit testy ve stejné složce společně s třídami, které testujete, nebo máte implementace v nějaké složce src/ a testy v složce tests/?

A co integrační testy a akceptační testy?

Máme projekt v Symfony, testy PHP tříd úplně oddělené od zdrojových kódů a zajímalo by mě, zdali není v něčem lepší mít implementaci a testy na jednom místě. Prošel si někdo oběma způsoby, že by byl schopný posoudit výhody/nevýhody (údržba, spouštění, cokoliv)? Díky!

odkaz
15 harrison314
odpověděl/-a 12.3. 11:27
 
upravil/-a 12.3. 14:42

Pouzivam druhu variantu, testy mavam oddelene. V samostatnych projektoch, plus samostatne unit testy, samostatne DB testy aj integracne. A samozrejme nejakou konvenciu oddelene testy, ktore spusta CI a Build server a ktore sluzia pre vyvojarov (ked pride novy bug, vyvojar by si mal spravit test, ktory padne a po opraveni bugu bude zeleny, ked bude bug fixnuty test sa presunie do testov, ktore spusta Build server).

Testy je kod sluziaci pre vyvoj, nemiesal by som ho s podukcnym kodom. (edit) Testy maju navyse dalsie zavisloti, ktore produkcny kod nema (testovacie a mokovacie frameworky, assert kniznice,...).
Kedze pouzivam typove jazyky, konzistenciu mi zabezpecuje kompilator a Build server ti zabezpeci aby sa testy nerozisli s kodom.
V PHP svete to ale moze byt inak.

Komentáře

  • Vašek Ch. : Super, díky! Zajímal by mě teď komentář někoho, kdo si myslí něco skoro přesně opačného :-). 12.3. 12:03
  • harrison314 : Aj v typovych jazykoch jestvuje daco ako testy v produkcnom kode, ale nie su to celkom testy - code contracts, v nich si vies pocas runtomu odsledovat prereqizity metod kontrolu vstpnych parametrov, aj kontrolu vystupu. Spolu s podmienenycm prekladom, ma aj nieco taketo svoje odpodstatnenie v istych pripadoch. 12.3. 12:20
  • kohven : harrison314: V tomto případě se pojmu test vyloženě vyhýbám. Test je něco, co v produkci nikdy neběží. Jinak ta poznámka o PHP světě: To možná nebude jenom o typovosti ale o i tom, že i když už se blýská na lepší časy, tak PHP komunita ještě nemusí být ohledně názoru na testování tak homogenní, jako třeba javová komunita, kde jsou zpochybňovači unittestů považováni za beznadějné heretiky odsouzené k zániku ve svém amatérismu. :) 14.3. 17:54
  • dzejkob : Vašek Chromický: neříkám, že si myslím něco opačného - nicméně psát testy můžu, když znám celkem jasně kontury té věci, pro kterou budu psát implementaci. Tedy v přímé úměře ke kvalitě specifikace. Když je specifikace mizerná, nebo v rovině pronesené jedné věty, nebo nakreslené obrázky, tak se k implementaci s testy v jednom dá sklouznout poměrně snadno. Ano, potom se to má považovat buď jako nějaké POC, nebo to nedělat vůbec (nebo samozřejmě upřesnit specifikaci). Nicméně tady někde bych hledal podstatu případných opačných názorů. 14.3. 19:23
  • harrison314 : @kohven: samozrejme, ze code contracts nie su testy, skor som len chcel upozornit, ze aj nieco take existuje. 15.3. 7:25

Pro zobrazení všech 7 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.