TDDigest e04

29 мая 2013 г. | | |

В сегодняшней подборке материалов из мира TDD много видео интересных выступлений и интервью.
Видео с выступления #Сергея Теплякова на msswit "Тестируемая архитектура: моки, стабы, рефакторинг" #video #ru #mock #design #msswit
"TDD I learned..." - автор рассказывает о своих неудачных попытках писать тесты и полном непонимании бенефитов TDD до тех пор, пока не натолкнулся на мастер-класс Roy Osherove по TDD. Из видео, которое идет более 9 часов, автор вынес для себя много полезного, понял разницу между интеграционными тестами и юнит тестами, и впечатлился AAA-подходом (Arrange, Act, Assert):
This approach, by eliminating assert code intermixed with code that sets up or acts upon your objects, reduces smelly tests by separating what is being tested from all the other stuff.
Такой подход разделяет проверку (assert) результата, инициализацию объектов (arrange) и действия над ними (act), отделяя то, что нужно протестировать, от всего остального, тем самым устраняя дурной "запашок-с" тестов.
#en #tdd
Интересное интервью со Стивом Фрименом и Нэтом Прайсом, авторами книги "Growing Object-Oriented Software, Guided by Tests"

How do you start a new project with TDD? -  своеобразный подход к настройке среды для нового проекта. #en
BDD and Acceptance Testing with RSpec & Capybara #en #video #ruby #bdd #rspec
Drupal unit testing #en #drupal #php
Беседа о unit-тестировании в php #en #php #unit-testing
Юнит-тестирование в CakePhp #en #php #unit-testing #video
JUnit / TestNG Testing Spring Security With Spring MVC Test Framework

Инструменты

Mockery - ещё один mock-фреймворк для unit-тестов
atoum.js - стильный, модный, молодёжный ;) фреймфорк для тестирования PHP5.3+ теперь и для js
Swaks - швейцарский нож для тестирования SMTP
dotCover - тест-ранер, а так же инструмент для  сбора аналитики о степени покрытия кода тестами для VS от JetBrains (правда, платный)

TDDigest e03

22 мая 2013 г. | | |

Для начала разберёмся, как писать тестируемый код на javascript, и поговорим о том, как тестировать полученный код с помощью QUnit, а так же как наслаждаться процессом тестирования асинхронного javascript с помощью Mocha #javascript #en #mocha
Туториал о том, как писать тестируемый и поддерживаемый код на php, чего избегать в коде, а что, наоборот, является правильным подходом. Ещё серия туториалов, детально раскрывающих процесс юнит-тестирования с PHPUnit. Рассматриваются такие темы, как написание полезного теста (!), моки, стабы, dependency injection, тестирование закрытых методов класса (если уж очень нужно), перегруженные конструкторы и почему 100% покрытие кода не так уж и важно. #en #php #phpunit

TDDigest e02

15 мая 2013 г. | | |

Открывает второй выпуск tddigest немного филосовский пост "10 Правил Дзен-Программиста" от Christian Grobmeier #en #zen
Размышления на тему "Design for tests vs Design for API" #en #tdd #ruby
Очередные tips & tricks от php-девелоперов. В прошлый раз нам показывали, как тестить защищённые методы класса, а в этот раз говорят о том, как надо мокать singleton с помощью PHPUnit. Забавно, ведь даже на самом php.net красным написано: Ахтунг! Берегись синглтона! (шутки в сторону) А теперь серьёзно, когда может пригодиться такой подход? Я вижу один случай - есть база legacy кода, которую нужно поддерживать. Рефакторить код или вносить изменения без тестов -  смело, но глупо. Поэтому приходится иногда заниматься таким: мокать синглоны или чего ещё хуже выдумывать. #php #phpunit #antipattern

10 особенностей CoffeeScript, о которых вы могли не знать

8 мая 2013 г. | | |

Немного вольный перевод статьи "10 CoffeeScript Features You Might Not Know" by Jaco Pretorius.

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

Сводка с фронтов от инфицированных тестами e01

| | |

Открывает первую сводку с фронтов удараников TDD хвалебная статья-ода "Not Using Test-First? You're Doing it Wrong." Автор не просто рассказывает, почему TDD - это круто, а пытается объяснить, как и чем улучшает test-first подход процесс разработки. #en #tdd
Продолжая тему полезности TDD "Why Testing Makes a Project Successful and You Can’t Afford to Deny It". Автор развивает мысль о полезности тестирования, эпично приводя статистику расхода времени и денег на поиск и фикс багов:
According to prweb.com, recent Cambridge University research found that, on average, software developers spend 50% of their programming time finding and fixing bugs and estimate that this costs the global economy $312 billion per year.
Да уж, не кисло. Не будь частью этой статистики, пиши теты! #en