2010-05-12 10 views
5

Próbuję uruchomić całą instalację z Autotest/Growl/Shoulda na moim Macu, aby przetestować klejnot, nad którym pracuję dla Authlogic. Używałem RSpec w przeszłości całkiem sporo, ale chciałbym przejść na Shoulda.Autotest, Shoulda, Ruby - The Setup?

Ten klejnot będzie działał z Railsami, ale inne klejnoty, które stworzyłem, to po prostu stare biblioteki ruby ​​bez zależności od modułów Rails. Jaki jest zalecany sposób testowania rubygemów?

Wydaje się, że ZenTest koncentruje się głównie na Railsach, ponieważ nie znalazłem jeszcze klejnotu, który sprawia, że ​​tak się nazywa autotest automagicznie uruchamia wszystkie moje testy TestUnit, bez względu na to, czy używam Rails, Sinatra, czy po prostu robiąc klejnot.

Pytanie brzmi: Jaka jest twoja konfiguracja/przepływ pracy dla przeprowadzania testów klejnotów, które budujesz? Czy masz jakieś zasoby, które by mi pomogły?

Lub bardziej szczegółowe, testowalne pytanie: Jak uruchomić zestaw testów dla Paperclip lub Authlogic z autotestem?

Używam ich jako środków do tej pory:

Dzięki wielkie. Chcesz, aby testowanie stanowiło podstawową część mojego przepływu pracy.

Odpowiedz

3

Autotest (i ZenTest w ogóle) nie koncentruje się na Railsach. Rzeczywiście kod szyny został wyodrębniony w osobny klejnot. Jednak domyślnie oczekuje plików zgodnych z określonym folderem i konwencją nazewnictwa plików. Na przykład:

. 
|-- lib 
| `-- my_library.rb 
`-- test 
    |-- test_helper.rb 
    `-- test_mylibrary.rb 

Właśnie napisali small project, który współpracuje z shoulda i jest sprawdzalne z Autotest.

Jeśli chcesz odbiegają od tych konwencji (na przykład przez dodanie przyrostka zamiast poprzedzania „test” na swoich nazwach kod testowych) niż może zapewnić .autotest plik, który używa API dostarczonego przez autotestu do użytku własny system. Jest całkiem kompletny przykład w RSpec project itself.

+0

dzięki dla tego przykładu, to staje się jaśniejsze :). Zastanawiam się, co to są ci faceci (autor Authlogic i autor Paperclip, linki do testów powyżej) używają do testowania swoich projektów? Czy korzystają z autotestu z niestandardowymi ścieżkami wykrywania? Jakie są Twoje myśli? Oczekiwanie na odpowiedzi od autorów. –

0

Miałem podobny problem, więc pomyślałem, że podzielę się moim rozwiązaniem dla potomności.

Mam drzewo projektu z dużą liczbą plików. Wiedziałem o konwencji autotestu dotyczącej wyszukiwania odwzorowań między plikami w lib/a plikami w teście /. Ale pomyliłem się myśląc, że oznacza to, że autotest po prostu szukał plików w lib/i test/domyślnie. Bynajmniej. Jeśli nie powiesz mu, aby szukał określonych plików lub katalogów, przeskanuje całe drzewo z całością. To może nie być dobrze, jeśli twoje drzewo zawiera ponad 100 000 plików. :-)

Tak więc uruchomiłem autotest i nie widziałem żadnych wyników, myśląc, że nie znajdowało plików, kiedy naprawdę znajdowało się za dużo plików i próbowałem je przerzucić bez podawania jakichkolwiek opinii.Przenosząc największy katalog z głównego drzewa, otrzymałem autotest, aby odpowiedzieć.

(może muszę nauczyć się włamać na plikach konfiguracyjnych autotest.)