tag:blogger.com,1999:blog-3058726084145190258.post3612798744433401956..comments2023-03-02T09:18:00.483+01:00Comments on Daniel Kolman: TDD Outside-in v OstravěDaniel Kolmanhttp://www.blogger.com/profile/12541334749939254340noreply@blogger.comBlogger6125tag:blogger.com,1999:blog-3058726084145190258.post-87668687788199514092012-10-30T11:16:32.266+01:002012-10-30T11:16:32.266+01:00@Unknown: No právě, unit test nám umožňuje testova...@Unknown: No právě, unit test nám umožňuje testovat chování objektu bez různých berliček get-metod. Pokud se na test díváme jako na prostředek návrhu objektů a jejich interakcí, chování je součástí kontraktu a nelze ho měnit bez změny testu. <br /><br />Viz také rozdíl mezi state-based a behavior-based verification: http://martinfowler.com/articles/mocksArentStubs.html#ClassicalAndMockistTestingDaniel Kolmanhttps://www.blogger.com/profile/12541334749939254340noreply@blogger.comtag:blogger.com,1999:blog-3058726084145190258.post-88761238033249188812012-10-30T09:05:40.133+01:002012-10-30T09:05:40.133+01:00Řekl bych, že ten první test není úplně ideální - ...Řekl bych, že ten první test není úplně ideální - v podstatě kontroluje vnitřní implementaci!<br /><br />Místo testování jestli byla zavolána metoda na boardu by game měla mít metodu getToken, kterou si ověříme, že token je na dané pozici.<br />Tímto způsobem se vnitřní implementace třídy Game může změnit bez toho aby bylo třeba měnit test.Petr Šnobelthttps://www.blogger.com/profile/01380119598806169065noreply@blogger.comtag:blogger.com,1999:blog-3058726084145190258.post-31396551749194557112012-10-23T21:19:02.500+02:002012-10-23T21:19:02.500+02:00Muj komentar se tykal hlavne jiz existujiciho kodu...Muj komentar se tykal hlavne jiz existujiciho kodu. Takze zmeny, ktere jsou vynuceny napr. bug reportem, nebo change request. Samozrejme, ze externi kvalitu unit testem neprokazes, ale stakeholdri cim dal casteji slepe vyzaduji test coverage na urcite urovni, protoze to pro ne znamena cislo :-). A jako takove se da sledovat v case.<br /><br />Samozrejme i v tomto pripade plati, ze dlouhy test ukazuje na problemy v designu, ale ne vzdy si muzes z casovych duvodu dovolit kod refaktorovat, idkyz by si i chtel :-).Tomas Turekhttps://www.blogger.com/profile/15692797397461284661noreply@blogger.comtag:blogger.com,1999:blog-3058726084145190258.post-4177292243071654232012-10-15T10:09:30.118+02:002012-10-15T10:09:30.118+02:00V TDD by Example Kent doporučuje implementaci test...V TDD by Example Kent doporučuje implementaci testu odzadu tj. začít od Assertu a končit Arrangem. To, že máš třídu Game, zjistíš jako poslední, neurčíš to jako první. Ale to jen takové malé doplnění k tomu, co jsem zatím viděl. Moc se mi toho do autobusu nabufferovat nepodařilo. :)<br /><br />Zatim se mi to líbí, ale nerad bych hodnotil než to zkouknu celý. :DAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-3058726084145190258.post-76212689123488983552012-10-14T10:54:38.372+02:002012-10-14T10:54:38.372+02:00Pokud má být test důkazem, že něco funguje, pak to...Pokud má být test důkazem, že něco funguje, pak to může být stěží unit test. Ještě jsem neviděl requirement/feature request/user story (říkejme tomu jakkoliv) který by požadoval něco na úrovni třídy. Zadání od business lidí se vždy týká externí kvality, a pokud se snažíme něco takového dokázat unit testem, stavíme Potěmkinovu vesnici. Ale jinak chápu že v "entrprajsu" je možný úplně všechno:)Daniel Kolmanhttps://www.blogger.com/profile/12541334749939254340noreply@blogger.comtag:blogger.com,1999:blog-3058726084145190258.post-57522928555285758142012-10-12T22:33:58.585+02:002012-10-12T22:33:58.585+02:00Nekdy duvod proc lide pisi testy je vice prozaicky...Nekdy duvod proc lide pisi testy je vice prozaicky. Napriklad podminku mergnuti kodu muze byt unitovy test jako dukaz funkcnosti kodu. A samozrejme testovat kod jenom rozbehnutim aplikace muze byt zdlouhavy. Takze prestoze vysledny test neni mnohdy efektivni a byva tezko udrzovatelny je bohuzel nekdy nutne zlo.Tomas Turekhttps://www.blogger.com/profile/15692797397461284661noreply@blogger.com