Несколько вопросов по теме. Участвовал уже во многих проектах, в том числе и достаточно крупных, но нигде даже в зачаточной стадии не применялись юниттесты. Насколько они применимы для пыхпыха? Кто-нибудь их пишет?
Можете порекомендовать хороший обучающий материал по теме?
Общие принципы понятны, статей достаточно много, но... все это выглядит искусственным усложнением жизни разработчика.
1. Alho - 27 Октября, 2012 - 23:14:57 - перейти к сообщению
2. DeepVarvar - 28 Октября, 2012 - 00:18:27 - перейти к сообщению
0) Ваще офигенная вещь, я скажу!
1) Хорошо написанный юнит, еще до первой строчки кода конечного проекта, уже является самым подробнейшим ТЗ, и на основе его можно писать код без багов.
2) Сколько бы юнитов не было написано - все они продолжают держать проект в целостности логики, как в БД держат целостность foreing keys.
3) Написание новых юнитов для нового ф-ционала заставляет держаться в рамках старых утверждений, тем уменьшает кол-во багов при переходе к новой стабильной версии.
4) Т.к. все в юнитах состоит из конструкций "я утверждаю", в самих юнитах вы никак не сможете допустить логическую ошибку.
5) Думать надо не то, под какой код вы сейчас напишите юниты, а какой код вы потом напишете под ваши юниты.
6) phpunits вам в помощь.
7) Материал к сожалению не порекомендую.
1) Хорошо написанный юнит, еще до первой строчки кода конечного проекта, уже является самым подробнейшим ТЗ, и на основе его можно писать код без багов.
2) Сколько бы юнитов не было написано - все они продолжают держать проект в целостности логики, как в БД держат целостность foreing keys.
3) Написание новых юнитов для нового ф-ционала заставляет держаться в рамках старых утверждений, тем уменьшает кол-во багов при переходе к новой стабильной версии.
4) Т.к. все в юнитах состоит из конструкций "я утверждаю", в самих юнитах вы никак не сможете допустить логическую ошибку.
5) Думать надо не то, под какой код вы сейчас напишите юниты, а какой код вы потом напишете под ваши юниты.
6) phpunits вам в помощь.
7) Материал к сожалению не порекомендую.
3. caballero - 28 Октября, 2012 - 00:27:51 - перейти к сообщению
Во первых юнит-тесты это не обязательно ТDD
во вторых юнит тестами можно покрыть только небольшую часть отдельно стоящих функций результат которых можно проверить.
во вторых юнит тестами можно покрыть только небольшую часть отдельно стоящих функций результат которых можно проверить.
4. DeepVarvar - 28 Октября, 2012 - 00:30:25 - перейти к сообщению
Ну то - да, облизывать приходится по кускам. На то оно и тестирование.
(Добавление)
И в phpunits естессно можность создать объект-обманку.
(Добавление)
И в phpunits естессно можность создать объект-обманку.
5. caballero - 28 Октября, 2012 - 00:37:09 - перейти к сообщению
это чушь. для програм с пользовательским интерфейсом, коим является веб, обманок будет больше чем полезного кода. Потом придется обманки на баги тестировать.
самый реальный вариант - юнит тесты всего сайта через селениум.
самый реальный вариант - юнит тесты всего сайта через селениум.
6. DeepVarvar - 28 Октября, 2012 - 01:26:15 - перейти к сообщению
caballero, а как протестить бекенд?
7. caballero - 28 Октября, 2012 - 09:29:29 - перейти к сообщению
так селениумом ты все сразу и тестируешь