Как запустить TDD / BDD PHP CodeIgniter - PullRequest
7 голосов
/ 23 июня 2011

Я уже давно читаю о TDD / BDD, но никогда не мог понять, как реализовать это в проекте.

Это упрощенная версия проекта, над которым я сейчас работаю:
Сайт, который позволяет людям регистрироваться, размещать подержанные книги для продажи. Люди, которым нужны эти книги, могут искать книги, выставленные на продажу поблизости, и отправлять электронное сообщение продавцу через веб-сайт.

Это написано в CodeIgniter, и я, как единственный разработчик, работаю над этим. Для этого сценария, не могли бы вы рассказать, как именно я буду проводить тестирование - с чего начать и что будет тестироваться.

Я давно хотел сделать это, я вроде понимаю концепцию, но фактическая реализация ускользает от меня, большое спасибо!

1 Ответ

3 голосов
/ 23 июня 2011

Тестер юнитов, который поставлялся с последней версией CI, которую я использовал, был плохим, он просто проверил true или нет.

Я нашел этот интересный проект, который, по-видимому, поддерживался как минимум до прошлого года:

http://jensroland.com/projects/toast/

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

http://codeigniter.com/forums/viewthread/76703

Вы можете начать с проверки того, что ваши модели возвращают ожидаемый набор значений. то есть утверждают, что «получить первые 10 книг» на самом деле возвращает 10 записей - это означает, однако, создать тестовую базу данных и возможность настроить (заполнить тестовыми данными) и разорвать эту базу данных по желанию. Это немного сложно, но в ситуации с MVC, когда начинаешь с TDD, проще всего разобраться.

TDD (т. Е. Идея разработки тестов / кода в таком порядке) наиболее эффективна при создании ваших собственных классов - которые вы можете рассматривать как «помощников» в типичной настройке CI.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...