Znam te koncepcje (brałem udział w zajęciach testowych na studiach), ale nie jestem jeszcze pewien, jak z nich korzystać, ponieważ nigdy nie pracowałem nad „prawdziwym” projektem TDD.
Mam zamiar rozpocząć tworzenie projektu przy użyciu Ruby on Rails (najprawdopodobniej przy użyciu 2.3). Ta aplikacja będzie używana do zarządzania danymi, użytkownikami i niektórymi plikami. Na początku nie będzie to zbyt skomplikowane, ale może się znacznie skalować w ciągu najbliższych 6 miesięcy, więc uważam, że to właściwy czas, aby bardziej zaangażować się w TDD.
Mam podstawowy pomysł, jak to zrobić, ale nadal potrzebuję kilku wskazówek i porad:
Jaki artykuł Ruby on Rails TDD 101 powinienem przeczytać?
Co muszę przetestować?
Jakiego klejnotu / wtyczki powinienem użyć?
Czy powinienem używać rspec ? Coś innego?
Kiedy już mam wszystkie moje zajęcia testowe, jak je wdrożyć? (np .: Ciągła integracja)
Jak bardzo czasochłonne jest TDD?
Czy muszę przeczytać książkę na ten temat, czy też mogę uzyskać wszystko, bawiąc się nią i czytając samouczki online? Jeśli muszę przeczytać książkę, jaką książkę?
Lubię uczyć się na przykładach, więc czy ktoś mógłby mi powiedzieć, jak bym poszedł i obrał podejście TDD, aby rozwiązać ten problem:
Mam firmy. Mam kontakty. Kontakt można powiązać z 1 firmą. Firma może mieć wiele kontaktów. Chcę tworzyć sposoby tworzenia kontaktów, firm i łączyć kontakty z firmami.
Nie musisz używać tego przykładu w swojej odpowiedzi, ale to by pomogło :)
źródło
Stworzyłem 6-odcinkową serię wideo, której nauczano na publicznych zajęciach w San Francisco latem 2010 roku. Materiał obejmuje testowanie i wydajność programistów w Railsach 2.3 przy użyciu RSpec 1.3. Nieco przestarzałe, ale główne koncepcje dotyczą Rails 3 z Rspec 2.x
http://www.rubyfocus.biz/class_video/2010/07/19/rails_tdd_class_1.html
źródło
Polecam tę książkę: Samouczek dotyczący Ruby on Rails . Prawie z tym skończyłem. Książka używa TDD w całej książce. Spróbuj!
źródło
Polecam tę książkę: Agile Web Development with Rails
źródło
TDD polega przede wszystkim na pisaniu testów. To w zasadzie zmusza cię do napisania własnego klienta przed napisaniem kodu aplikacji. Cykl zazwyczaj polega na napisaniu testu dla nieistniejącego interfejsu API, uruchomieniu testu spodziewając się niepowodzenia, napisaniu kodu API, ponownym uruchomieniu testu i upewnieniu się, że przeszedł pomyślnie. Następnie napisz swój następny test ... i tak dalej.
Możesz być także zainteresowany tym przewodnikiem po Railsach .
źródło
Używam :
źródło
Zawsze lubiłem Powinien .
Powodem, dla którego zawsze preferowałem rozwój TDD jest to, że koncentruje się na tym, jak zaimplementuję określony fragment kodu. Mam anegdotyczne przeczucie, że ilekroć mocniej trzymam się zasad TDD, spędzam mniej czasu na późniejszej przeróbce. Jednak ilość czasu zależy od tego, jak dobrze piszesz testy jednostkowe. Jeśli testy jednostkowe nie wychwytują oczekiwanego zachowania, cały czas poświęcony na nie jest zmarnowany.
źródło