2009-09-19 10 views

Odpowiedz

10

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.

3

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.

1

Ogórek jest ukierunkowany na testy akceptacyjne. Shoulda to framework testujący jednostki.

1

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).

3

Nie widzę nikogo, kto wspomniałby o tym, że w rzeczywistości jest to can use Shoulda jako "silnik testowy" dla Ogórka.

Powiązane problemy