[Moscow.pm] Шпаргалка по mock-объектам в Perl

Ilya Chesnokov chesnokov.ilya на gmail.com
Ср Апр 25 05:01:11 PDT 2012


Чтобы понять статью, нужно немного абстрагироваться от деталей :)

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

Суть статьи лучше всего выражается несколькими фразами:
(про Test::MockObject) "...Perl extension for emulating troublesome
interfaces. I chose the word "troublesome" with care..."

"Yet in truth, mock objects are far, far overused."

"My point is that the use of mock objects is a code smell.
If every unit (or most units) need mock objects for you to test them
to your satisfaction, your tests are likely fragile."

И самое забавное: "When you go out to lunch as a team, do you go to a
real restaurant and order food, or do you sit around in a circle
pretending to eat sandwiches?"


25 апреля 2012 г. 14:29 пользователь Alexandr Alexeev
<afiskon на gmail.com> написал:
>>>
>>> http://www.modernperlbooks.com/mt/2012/04/mock-objects-despoil-your-tests.html
> Странная заметка.
>
> Преимущества mokeypatch'инга перед mock-объектами не понял.
> DBICx::TestDatabase при некоторых обстоятельствах может быть удобнее
> DBD::Mock, но суть не меняется. Тот же Mock объект, только запоминающий,
> какие данные в него передавали, что позволяет не писать код, связанный с
> подстановкой этих данных. При этом теряется гибкость DBD::Mock.
>
> Не уверен, что автор различает модульные и интеграционные тесты.
>
> 25 апреля 2012 г. 13:20 пользователь Ilya Chesnokov
> <chesnokov.ilya на gmail.com> написал:
>
>> Статья в тему:
>> http://www.modernperlbooks.com/mt/2012/04/mock-objects-despoil-your-tests.html
>>
>> 25 апреля 2012 г. 10:05 пользователь worldmind <worldmind на mail.ru>
>> написал:
>> > Дублирую для тех кто не читает хабр
>> > http://habrahabr.ru/post/142667/
>> >
>> > --
>> > Moscow.pm mailing list
>> > moscow-pm на pm.org | http://moscow.pm.org
>>
>>
>>
>> --
>> Best regards,
>> Ilya Chesnokov
>> --
>> Moscow.pm mailing list
>> moscow-pm на pm.org | http://moscow.pm.org
>
>
>
>
> --
> С уважением, Александр
> Личный блог: http://eax.me/
> Мой форум: http://it-talk.org/
> Мой Twitter: http://twitter.com/afiskon
>
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>



-- 
Best regards,
Ilya Chesnokov


Подробная информация о списке рассылки Moscow-pm