Я знаком с концепциями (проходил тестовые занятия в колледже), но пока не уверен, как их реально использовать, поскольку никогда не работал над «настоящим» проектом TDD.
Я собираюсь начать разработку проекта с использованием Ruby on Rails (скорее всего, с использованием 2.3). Это приложение будет использоваться для управления данными, пользователями и некоторыми файлами. Поначалу это не будет слишком сложно, но в ближайшие 6 месяцев это может сильно измениться, поэтому я считаю, что сейчас самое время заняться TDD.
У меня есть основная идея, как это сделать, но мне все еще нужны некоторые советы и подсказки:
Какую статью по Ruby on Rails TDD 101 я должен прочитать?
Что мне нужно проверить?
Какой драгоценный камень / плагин я должен использовать?
Должен ли я использовать rspec ? Что-то другое?
Как только я получу все свои тестовые классы, как мне их развернуть? (например: Непрерывная интеграция)
Как много времени занимает TDD?
Нужно ли мне читать книгу об этом или я могу получить все, просто поиграв с ней и прочитав онлайн-уроки? Если мне нужно прочитать книгу, какую книгу?
Мне нравится учиться на примерах, поэтому кто-то может сказать мне, как я поступил бы и использовал подход TDD для решения этой проблемы:
У меня есть компании. У меня есть контакты. Контакт может быть связан с 1 компанией. Компания может иметь несколько контактов. Я хочу создать способы создания контактов, компаний и связи контактов с компаниями.
Вам не нужно использовать этот пример в своем ответе, но это поможет :)
источник
Я создал 6-серийный видеоклип, который летом 2010 года преподавал в открытом классе в Сан-Франциско. Материал посвящен тестированию и эффективности разработки в Rails 2.3 с использованием RSpec 1.3. Немного устаревший, но основные концепции применимы к Rails 3 с Rspec 2.x
http://www.rubyfocus.biz/class_video/2010/07/19/rails_tdd_class_1.html
источник
Я рекомендую эту книгу: учебник по Ruby on Rails . Я почти закончил с этим. Книга использует TDD всю книгу. Попробуйте!
источник
Я рекомендую эту книгу: Agile Web Development с Rails
источник
TDD - это прежде всего написание тестов. Это в основном заставляет вас написать свой собственный клиент, прежде чем писать код приложения. Цикл, как правило, состоит в том, чтобы написать тест для API, который не существует, запустить тест, ожидающий его сбой, написать код API, запустить тест снова и убедиться, что он прошел. Затем напишите свой следующий тест ... и так далее.
Вас также может заинтересовать это руководство по Rails .
источник
Я использую :
источник
Я всегда наслаждался горчицей .
Причина, по которой я всегда отдавал предпочтение разработке TDD, заключается в том, что она фокусируется на том, как я буду реализовывать определенный фрагмент кода. У меня складывается анекдотическое ощущение, что всякий раз, когда я сильнее придерживаюсь принципов TDD, я трачу меньше времени на доработку позже. Время, затраченное на то, насколько хорошо вы пишете модульные тесты. Если модульные тесты не фиксируют ожидаемое поведение, все время, потраченное на них, тратится впустую.
источник