Jak podjąłbyś decyzję między ogórkiem a maczkiem, gdybyś miał wybrać ramy testowe?Jaka jest główna różnica między ogórkiem a maczkiem?
Co przede wszystkim różnicuje te dwie struktury?
Jak podjąłbyś decyzję między ogórkiem a maczkiem, gdybyś miał wybrać ramy testowe?Jaka jest główna różnica między ogórkiem a maczkiem?
Co przede wszystkim różnicuje te dwie struktury?
Jak wszyscy zauważyli, Ogórek i Róża mają dość różne cele. Możesz myśleć o Cucumber jako o strukturze testowej "view from 10,000 feet" - definiujesz szeroką funkcjonalność lub specyficzną interakcję użytkownika i upewniasz się, że wszystko działa razem. Shoulda służy do testowania jednostkowego - wybieramy konkretny model i dokładnie testujemy wszystkie wybiórcze funkcjonalności tego pojedynczego elementu.
Zwykle chciałbyś używać tego rodzaju ram w połączeniu. Na przykład, większość twoich szerokich, wysokopoziomowych testów może być napisana w Ogórku, ale kiedy jest w systemie szczególnie złożony lub nieprzejrzysty fragment kodu, możesz przećwiczyć w pakiecie Shoulda lub RSpec, aby przetestować dane szczegółowe.
Mają zupełnie inne cele. Shoulda jest jednostkowym rozszerzeniem testującym zbudowanym na bazie Test :: Unit.
Ogórek jest ramą akceptacji/funkcjonalnego testowania, która może wykorzystywać Test :: Unit/RSpec/Whatever do wykonywania twierdzeń.
Shoulda można na przykład bezpośrednio porównać z RSpec.
Ogórek jest ukierunkowany na testy akceptacyjne. Shoulda to framework testujący jednostki.
Shoulda jest rozszerzeniem struktury Test::Unit
, która składa się z testowych makr, asercji i pomocników. Shoulda jest ładniejszym sposobem pisania testów jednostkowych.
Ogórek - przeróbka "Story runner" RSpec - to narzędzie dla Behaviour-Driven Development. Umożliwia pisanie specyfikacji wykonywalnych w zrozumiałym dla firmy języku specyficznym dla danej domeny. Ogórek jest bardziej narzędziem do testów akceptacyjnych.
Ogórek i muszla mają zatem inny cel (nawet jeśli Shoulda może być stosowany w przypadku BDD).
Nie widzę nikogo, kto wspomniałby o tym, że w rzeczywistości jest to can use Shoulda jako "silnik testowy" dla Ogórka.