2010-05-28 15 views
9

W jednym z moich projektów potrzebuję współpracować z kilkoma systemami zaplecza. Niektóre z nich trochę brakuje w dokumentacji, a częściowo mam kod testowy, który wchodzi w interakcje z niektórymi serwerami testowymi tylko po to, aby zobaczyć, że wszystko działa zgodnie z oczekiwaniami. Jednak dostęp do tych serwerów jest dość powolny i dlatego nie chcę uruchamiać tych testów za każdym razem, gdy uruchamiam mój zestaw testów.Jak pominąć niektóre testy z Test :: Unit

Moje pytanie brzmi: jak poradzić sobie z sytuacją, w której chcesz pominąć niektóre testy. Obecnie używam zmiennej środowiskowej "BACKEND_TEST" i instrukcji warunkowej, która sprawdza, czy zmienna jest ustawiona dla każdego testu, który chciałbym pominąć. Ale czasami chciałbym pominąć wszystkie testy w pliku testowym bez dodawania dodatkowego wiersza na początku każdego testu.

Testy, które muszą wchodzić w interakcje z serwerami testowymi, są niewielkie, ponieważ korzystam z Flexmock w innych sytuacjach. Jednak nie możesz kpić z dala od rzeczywistości.

Jak widać z tytułu tego pytania, używam Test :: Unit. Dodatkowo, jeśli robi to jakąkolwiek różnicę, projekt jest projektem Rails.

Odpowiedz

8

New Features Of Test Unit 2.x sugeruje, że jednostka testowa 2.x (wersja z klejnotem, a nie biblioteka standardowa ruby ​​1.8) pozwala pominąć testy.

+1

dziękuję! Właściwie czytałem slajd wcześniej, ale nigdy nie patrzyłem, czy 2.x rzeczywiście został zwolniony. Ma i przyjrzę mu się bliżej. –

+1

Należy pamiętać, że pomijanie testów kończy się niepowodzeniem. Jeśli nie chcesz wielu nieudanych testów, możesz spróbować pominąć Minitest lub po prostu dodać instrukcję return pod pewnymi warunkami u góry testu. – coberlin

+0

@coberlin - Uwaga: Pomiń powoduje wyjątek WYŁĄCZNIE, jeśli nie podano bloku. Możesz po prostu przekazać ciało testowe jako blok. –

Powiązane problemy