пятница, 14 января 2011 г.

Моки - это не стабы

Недавно прочитал статью Фаулера "Mocks Aren't Stubs", которая напрямую касается темы следующей пати - моков, стабов и их применения.

Ниже поделюсь мыслями о прочтённом.
В этой статье мне показался особенно интересным рассказ о двух подходов к тестированию - Classical и Mockist. Оба подхода рассматриваются  в различных ситуациях, показывающих различие в мышлении людей, придерживающихся разных подходов.

Рассказ об этих подходах поставил для меня точку в том споре, который мы вели с Алексеем Рогаткиным во время первой пати - о том, как лучше использовать моки и для чего их надо использовать. Я понял, что я сейчас больше склоняюсь к mockist, а Лёша сейчас более склонен к classical. И наш спор был не более чем обсуждение двух разных подходов, и оба эти подхода имеют право на жизнь.

Но мне стало интересно, у какого из подходов больше приверженцев. Поэтому я хочу спросить у читателей: если вы пишите тесты к своему коду, то к какому варианту склоняетесь вы - mockist или classical?

Я же для себя поставил задачу опробовать на себе оба подхода, чтобы сравнить. Так что попробую в ближайшее время писать тесты в стиле classical TDDer.

Кстати, как думаете, какой корректный перевод будет для приверженцев этих направлений? Фаулер использует сочетания classical TDDer и mockist TDDer. По всей видимости имея ввиду classical test driven developer и mockist test driven developer. По-русски вариант звучит как разработчик через классический тесты и разработчик через мок-тесты. Но как это сказать короче, чтобы не нужно было произносить столько слов? Есть идеи?