2011-06-23 9 views
7

Czytałem o TDD/BDD już od jakiegoś czasu, ale nigdy nie mogłem wymyślić jak go wdrożyć w projekcie.Jak rozpocząć kodowanie TDD/BDD PHPIgniter

To jest uproszczona wersja projektu Obecnie pracuję:
Witryna umożliwiająca rejestrację osób, używane książki na sprzedaż. Osoby, które potrzebują tych książek, mogą wyszukać książki wysłane do sprzedaży w pobliżu i wysłać wiadomość e-mail do sprzedawcy za pośrednictwem strony internetowej.

Jest to napisane w CodeIgniter ze mną jako jedynym programistą nad nim pracującym. W tym scenariuszu, czy możesz mi powiedzieć, jak dokładnie zabrałbym się za testowanie - od czego zacząć i co testowałem.

Chciałem zrobić to od dłuższego czasu, rozumiem tę koncepcję, ale faktyczna realizacja umyka mi, wielkie dzięki!

Odpowiedz

3

Tester urządzenia dostarczony z ostatnią wersją CI, której użyłem, był słaby, sprawdził się po prostu, czy nie.

Znalazłem ciekawy projekt, który wydawał się być utrzymane aż do ostatniego roku co najmniej:

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

Może jest coś tam, aby pomóc Ci zacząć, może w readme plików - jeśli nie tutaj jest oryginalnym postem, z którego wynikał ten pomysł.

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

Można zacząć od sprawdzania modele przynieść oczekiwany zestaw wartości. tj. prawdą jest, że "pierwsze 10 książek" faktycznie przywraca 10 rekordów - oznacza to ustawienie testowej bazy danych i możliwość skonfigurowania (wypełnienia danymi testowymi) i zniszczenia tej bazy danych do woli. To trochę kłopotliwe, ale w sytuacji MVC przy rozpoczynaniu pracy z TDD może być najłatwiej dostać głowę.

TDD (tj. Pomysł opracowania testu/kodu w tej kolejności) ma największe znaczenie przy tworzeniu własnych klas - które można uważać za "pomocników" w typowej konfiguracji CI.