Podczas ostatniego WRUGa, po prezentacji Tomasha, ktoś zapytał czy warto pisać scenariusze w cucumberze jeżeli pisze się aplikacje tylko i wyłącznie dla siebie, nie ma żadnego klienta, nie ma szefa. Tylko Ty i kod
Zdania były podzielone i nie wynikła z tego dłuższa dyskusja, więc chciałem usłyszeć to od większej ilości osób. Moje podejście jest takie, że warto używać jakiegoś narzędzia, jeżeli zwiększa ono produktywność przy danym projekcie. Zakładając, że chcemy, żeby projekt żył dłużej niż tylko szybkie zbootstrapowanie i kilkukrotne użycie, warto pisać testy. A jak pisać testy, to najlepiej też integracyjne. I tutaj powstaje problem. Jeżeli nie cucumber, to co?
Można wrzucić webrata czy celerity do rspeca i będzie na pewno ok. Tylko w jaki sposób ułatwi to pracę? Narzut cucumbera, to konieczność pisania kroków. Przeciwnicy tej metody twierdzą, że pisanie regexpów, które identyfikują poszczególne kroki jest zbyt abstrakcyjne. Tylko czy to na pewno jest minus?
Jak piszę scenariusze cucumbera, to trzymam się zawsze tego wysokiego poziomu i zupełnie nie zastanawiam się nad implementacją, przecież później mogę pod te kroki podłożyć cokolwiek sobie zażyczę! Dzięki temu taki scenariusz można napisać sobie w wolnej chwili nie zastanawiając się prawie nad składnią i na tym czy łatwo go będzie później odpalić. I nikt chyba nie zaprzeczy, że takie scenariusze na pewno się dużo łatwiej czyta niż rspeca/test::unit, nawet jeżeli są bardzo ładnie i przejrzyście napisane Tego się nie da przeskoczyć, bo cucumber chowa implementację pod plain textem, więc prościej już chyba być nie może.
Co sądzicie?