Warte uwagi: Steak
Zainspirowani komentarzem Huberta pod naszym ostatnim postem dotyczącym cucumbera, postanowiliśmy bliżej się przyjrzeć jego alternatywie, czyli Steakowi.
Co to?
Jednym zdaniem: Steak umożliwia pisanie testów akceptacyjnych w czystym Rubim.
Dla kogo?
Steak jest dla wszystkich, którym przeszkadza narzut związany z pisaniem testów przy użyciu Cucumbera. Jedną z największych zalet “ogórka”, jest jego naturalny język. Teoretycznie umożliwia on nietechnicznym osobom przygotowywanie scenariuszy, które po drobnych modyfikacjach mogą być przekształcone przez programistę w pełnoprawne testy akceptacyjne. Prawda jest jednak taka, że w większości przypadków scenariusze pisane są przez programistów dla programistów. Z takiego założenia wyszli twórcy Steaka. Pozbyli się więc pisania kroków i konieczności ich późniejszego definiowania, scenariusze są po prostu kodem. Oczywiście stek możemy podać z Capybarą (to coś pokrewnego do świnki morskiej), Webratem, Rspec, Factory Girl itp.
Jak to wygląda?
Przykładowy scenariusz cucumbera:
Scenario: User signs in with invalid email address Given a user exists with email: "email@person.com", password: "password" When I go to the sign in page And I fill in "email" with "somewrongemail" And I fill in "password" with "password" And I press "Login" Then I should see "Invalid e-mail address"
Ten sam scenariusz z użyciem steaka może mieć następującą składnię (doprawione capybarą):
scenario "User signs in with invalid email address" do User.create!(:email => "email@person.com", :password => "password" visit '/sign_in' fill_in "email", :with => "somewrongemail" fill_in "password", :with => "password" press "Login" page.should have_content("Invalid e-mail address") end
Całkiem zgrabne, prawda?
Co dalej?
Wszystkich zainteresowanych odsyłamy na stronę projektu oraz polecamy szybki tutorial.
Mimo tego, że w naszym zespole scenariusze oglądają tylko programiści i scrum master, na razie nie zanosi się na to, żebyśmy zaczęli przyrządzać surowe steki. Przyzwyczaiłem się do składni Cucumbera, a przy użyciu pickle i odrobinie wprawy, można naprawdę szybko pisać scenariusze. Podoba mi się również warstwa abstrakcji, którą narzuca Cucumber, ponieważ pozwala mi lepiej skupić się na opisaniu i zrozumieniu zadania z punktu widzenia użytkownika. Widocznie jestem wegetarianinem.
Łukasz 13.07.2010
Lepsze od ogórka. Dlaczego? Bo to po prostu ładniejszy RSpec 🙂
A tak na poważnie – przed Ogórkiem powstrzymuje mnie to, o czym sam wspominasz: user stories piszą (u nas) tylko programiści i scrum master. Jeśli ktoś inny coś wrzuci do Pivotal’a to od razu trzeba to poprawić bo zazwyczaj nie jest to dobry scenariusz.
Pobawię się tym jutro.
Ravicious 13.07.2010
Wygląda nieźle, ale pozostaje kwestia spięcia tego z takimi rzeczami jak autotest, hydra lub spork.
Dodaj komentarz
TY