kb 08.05.2012 16:34 c8541125

Внезапно меня количество лишней писанины в юнит-тестах доебало, пошёл пилить годноту разную.

1. 238328 08.05.2012 18:50

ДРОЧУ НА КОВРОВАНИЕ

2. kb238328 /1 08.05.2012 18:54

???

3. 238328kb /2 08.05.2012 18:59 20317171571336502249249320

какими суждениями ты руководствуешься при написании тестов?

4. kb238328 /3 08.05.2012 19:09

эээ, сложно сказать. как минимум "что эта функция должна делать?", "какую гарантию (факт) я хочу получить?", "какие side-эффекты у этой функции?", "не делает ли она слишком много?". а в данном посте я имел в виду недостатки конкретно библиотеки mock (и, как следствие, возможность ёе улучшить).

5. 238328kb /4 08.05.2012 19:15

а как ты выбираешь функции?

6. kb238328 /5 08.05.2012 19:17

никак не выбираю, все тестирую

7. 238328kb /6 08.05.2012 19:18 20317171571336502249249320

ну, оооооооооооооооооок

8. kb238328 /7 08.05.2012 19:33

я раньше думал, что TDD для ебанутых, потому что думал, что там вся соль про то, что сначала тесты, а потом код. а потом понял, что идея немного в другом, и, хотя они всё еще ебанулись, здравый смысл есть.

Вся суть TDD (который, как я повторюсь, является утопией для меня и конечно же в реальной жизни я так делаю не всегда):

ты обязан придерживаться 3 правил:
1. сначала пишешь падающий тест ровно до тех пор, пока он не стал failing-тестом (то есть объявил все нужные функции, написал минимум теста, он уже падает не в Error, а в Fail).
2. как только он падает — тут же бросаешь его, и идёшь писать реализацию, пока она не удовлетворит тесту.
3. как только она удовлетворяет тесту — ты тут же останавливаешься и не пишешь ни строчки кода более. дальше, я так понял, варианты или рефакторинга или заново в цикл.

короче, хоть это и тупость, благодаря этому я частенько останавливаю себя при написании как кода так и тестов и меня лишний раз не уносит в говнотворчество.

9. 238328kb /8 08.05.2012 20:21

ну, ты собственно и описал то, как надо.
Подожду треда покрупнее чтобы набросать срач :3

10. kb238328 /9 08.05.2012 20:23

да уж, давай покрупнее. а то пост я, чувствую, никогда не допишу, или его никогда не прочтут массы, потому у меня руки опустились.

11. kb238328 /1 08.05.2012 20:26

Аааа. Под "КОВРОВАНИЕ" ты имел в виду coverage? :) А то я до сих пор не понял.

12. 238328kb /11 08.05.2012 21:03

йеп

Do you really want to delete ?