Crazy_Owl
11.06.2012 23:27 Azathot
Писать тесты очень прикольно. Хотя многие почему-то любят это делать до написания кода. Никогда не понимал этой хуйни.
Когда пишешь тесты до написания кода — дальше ты занимаешься дрочьбой "о, круто, еще два теста проходятся, осталось 8998".
Когда пишешь тесты после написания кода — ты, во-первых, проводишь code review, во-вторых, думаешь о стандартных use cases для своего кода, в третьих — задумываешься о нестандартных use cases для своего кода. Ты знаешь все фичи, заложенные тобой в код, и знаешь, как их надо тестировать. Тесты после кода гораздо полезнее, чем до.
тесты до написания кода можно рассматривать только как прототипирование интерфейсов.
Не согласен. Во-первых, если речь о функциональном тесте — то абсолютно похуй, до написания кода или после, или во время, т.к. от кода мало зависит.
А писать юнит-тест непосредственно перед написанием кода — просто помощь и гарантия того, что ты ничего не пропустишь и вся логика будет покрыта тестами. Ну и тут важно не только в одну сторону, типа, тест раньше имплементации, но также важно, чтоб как только тест стаёт Failing, тут же начинать писать код, реализующий его. Ну и как только тест проходит — тут же переставать писать код. Короче помогает держать тесты маленькими, а код разбитым на мелкие кусочки (длинные функции уже пописать не удастся).
Ну и, code review надо проводить когда фича уже готова и работает (а значит, с тестами), при мерже её в основную ветку. Тут же и зарефакторить можно, если чё.