<div dir="ltr"><br><div class="gmail_extra"><div class="gmail_quote">22 января 2014 г., 16:53 пользователь Mons Anderson <span dir="ltr"><<a href="mailto:mons@cpan.org" target="_blank">mons@cpan.org</a>></span> написал:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div><br></div><div><div class="im"><div>On 22.01.2014, at 15:21, Илья Винокуров <<a href="mailto:ilvin@mail.ru" target="_blank">ilvin@mail.ru</a>> wrote:</div>
<br><blockquote type="cite">
<div><br>У вас в объекте есть несколько методов, которые по идеологии юнит тестирования нужно/можно протестировать отдельно.<br>Например: <br><strong>new</strong> - хорошо бы протестировать, что этот метод правильно производит начальную инициализацию переменных в зависимости от переданныех параметров<br>
</div></blockquote><div><br></div></div><div>на такой бред я не буду тратить время.</div></div></div></blockquote><div><br></div><div>Если используется какой-то ОО-фреймворк, то все это должно уже быть в его тестах.</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div><div class="im"><blockquote type="cite"><div>Проверить поведение метода для разных OS.<br>
</div></blockquote></div></div><div class="im"><div><br></div></div><div><div class="im"><blockquote type="cite"><div>Проверить, что метод действительно вызывает другой метод prepare.</div></blockquote><div><br></div></div>
<div>там код линейный. как он может его не вызывать?</div></div></div></blockquote><div><br></div><div>Ну а если код нелинейный? (Или мы говорим о каком-то конкретном примере, который я пропустил?)</div><div>К слову, в подобных ситуациях может помочь модуль Class::Mock::Generic::InterfaceTester. </div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div><div>если вы из автомобиля выкрутить 1 свечу или открутите колесо, вы предполагаете, что машина корректно обработает эту ситуацию?</div>
<div class="im"><div><br></div><blockquote type="cite"><div><br>Ведь задача юнит тестов - фиксирование интерфейсов взаимодействия разных частей программы.</div></blockquote><div><br></div></div><div>вот именно, программы.</div>
<div>модуль обязан соблюдать только внешний интерфейс.</div><div>внутренности я могу переписывать как угодно.</div><div>и тестировать внутреннее взаимодействие не вижу смысла.</div></div></div></blockquote><div><br></div>
<div>Это весьма спорный вопрос. Тестирование по методу белого ящика никто не отменял.</div><div><br></div></div>-- <br>Best regards,<br>Ilya Chesnokov
</div></div>