Używam lettuce dla Pythona w przeszłości. Jest to prosty framework BDD, w którym specyfikacje są zapisywane w zewnętrznym pliku tekstowym. Implementacja używa wyrażenia regularnego do identyfikowania każdego kroku, potwierdzając kod wielokrotnego użytku dla każdego zdania w specyfikacji.BDD w Scali - Czy to musi być brzydkie?
Używanie scala, albo z specs2 lub scalatest Jestem zmuszony napisać specyfikację wraz z implementacją, uniemożliwiając ponowne wykorzystanie implementacji w innym teście (na pewno możemy go zaimplementować gdzieś w funkcji) i nie można oddzielić implementacji testowej od samej specyfikacji (coś, co kiedyś robiłem, dostarczając klientom testów akceptacyjnych do sprawdzania poprawności).
Podsumowując, podniosłem moje pytanie: biorąc pod uwagę znaczenie sprawdzania poprawności testów przez klientów, czy istnieje sposób w ramach BDD dla scala, aby załadować testy z zewnętrznego pliku, podnosząc wyjątek, jeśli zdanie w teście nie jest zaimplementowane a mimo to wykonanie testu normalnie, jeśli wszystkie zdania zostały zaimplementowane?
Szukałem już czegoś takiego w świecie Scali. Niestety, wygląda na to, że nie ma odpowiednika Cucumber w świecie Ruby, na przykład, gdzie możemy mieć całkowicie niezależny plik zawierający specyfikacje (Given, When, Then ...). Możesz użyć parsowania regexp z Specs2 (jak przywołuje dokumentacja) i załadować czysty plik tekstowy (scenariusze) na początku testu spec. Ale nigdy nie miałbyś "kontroli", której zdanie nie zostało przetestowane, według mnie. – Mik378
Właśnie powiedziałeś "plik tekstowy" "regexp" i "wielokrotnego użytku" w jednym zdaniu, a następnie nazwałeś wersję scala brzydką? #ImLost –