Показать сообщение отдельно
Старый 24.11.2013, 03:00
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 4  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
Ну, я понимаю разницу примерно так, как описано здесь здесь. Мне нравится BDD тем, что он читабельней и "портируемей". Ну, то есть, сравни rspec (руби/рельсы тест фреймворк), капибару (тоже руби/рельсовое, но уже с клиент-сайдом в лице браузера) и жасмин (чисто клиентское). Умеешь "читать" один из этих фреймворков – сможешь прочитать любой другой. Но по сути, разницы нет. TDD только говорит о том, что сначала тест – потом код, а BDD говорит ещё и как этот тест писать. Ну, это моё виденье =)

Цитата:
Для е2е согласен, для ТДД как-то не очень.
Ну так и e2e тоже может быть ТДД, это вещи не взаимосвязанные. Можно написать код, а потом покрыть его тестами, а можно сначала написать тест, а потом озеленять его. Просто ТДД чаще применяют к юнит-тестам.

Честно, я бы на твоём месте особо не заморачивался – если ты пишешь юнит тесты, это уже хорошо (вроде, Flex::Unit для этого есть?). Замечательно, если покрытие ещё побольше, чем 30% и просто супер если действительно есть хотя бы немного е2е. Я всё таки сторонник, что тесты должны отнимать не больше времени, чем непосредственно сам код.

Что касается самих подходов – в моей голове всё проще; Действия пользователь чаще всего скатываются до "кликни здесь, нажми букву, кликни сюда" – и тест я вижу записанные так же. Что-то вроде
Код AS3:
find('main', 'inventoryButton').click.expect('window', 'inventory', 'open').find('inventory', 'potion').click;
player.hp.should.equal(100);
А между действиями по типу click и expect взводить таймер на 1 мс. Это вынесет всю обработку уже в следующий фрейм – нужно же время, чтобы инвентарю открыться.