2008-11-24 6 views
15

Jestem nowy do szyderstwa, mam nowy projekt sieci .net, który jest w strukturze UI-> BLL-> DAL-> DB, używam NUnit do niektórych testów obecnie. Zamierzałem użyć go do przetestowania warstwy środkowej, więc nie muszę pisać do DB.Szyderczy dla manekinów?

Teraz, nigdy nie robiłem żadnego szyderstwa, nie wiem od czego zacząć, więc szukam szyderczego szkieletu, który ma kilka końcówek do końca! Czy ktoś mógłby wskazać mi jakiś kpiący materiał, który zaczyna się od początku i z pełnymi próbkami?

Dziękujemy,

Ray.

Odpowiedz

3

Rhino Mocks to jeden framework, którego można użyć, którego użyłem trochę.

Cheat sheet ma kilka linków, jeśli chcesz wypróbować inne, chociaż artykuł jest nieco przestarzały. ?

+0

I drugie szyderstwa z nosorożca Podniosłem go za godzinę. –

3

TypeMock ...

dobrze, najlepiej dla mnie drwi - interfejsy, trochę refaktoryzacji swojego kodu trochę i dowiedzieć się, co chcesz przetestować, tak że nie trzeba żadnego wyśmianie. Lub - jakikolwiek iniekcyjny zastrzyk, aby wyłudzić pewne rzeczy (ale zanim będzie trzeba trochę zmienić)

9

Powinieneś sprawdzić kilka filmów o szyderstwie na Dimecasts.net, to szybki sposób, aby poczuć, co kpiny to i zaczynajcie od własnego kodu.

Introduction to Moq

Introduction to RhinoMocks

+0

To naprawdę bardzo miłe, wiele się nauczyłem z tych krótkich klipów :). – Morph

4

Obecnie istnieje wiele różnych ram szyderczy. Polecam, abyś rzucił okiem na RhinoMock lub TypeMock. Oba są bezpłatne dla projektów osobistych/open source. TypeMock ma również licencję korporacyjną.

RhinoMock zmusza Cię do refaktoryzacji kodu w celu przetestowania (jeśli jest to konieczne, jeśli masz już testowalny kod, który robisz dobrze). To wymaga więcej pracy, ale pozostawi ci to luźno powiązany kod, który jest dobrodziejstwem samym w sobie. Z tego powodu istnieją pewne konstrukcje, których po prostu nie można kpić bezpośrednio z Rhino. Zawsze możesz jednak wprowadzić dodatkowe warstwy pośrednie i rozwiązać je w ten sposób. Najważniejsze jest jednak to, że musisz wykonać trochę więcej pracy, ale ostatecznie refaktoryzacja przyniesie korzyści Twojemu kodowi.

TypeMock działa z drugiej strony modyfikując kod "w locie" (używa API profilera do wstrzykiwania kodu). Pozwala to na stosowanie szyderstwa dla kodu, który nie jest w inny sposób odpowiedni do tego typu testów. TypeMock pozwoli ci na pozorowanie wszystkiego (z wyjątkiem mscorlib), więc łatwo jest zacząć i działa dobrze ze starszym kodem. Jednak, ponieważ nie jesteś zmuszony do refaktoryzacji swojego kodu, nie otrzymujesz dodatkowych korzyści z luźno powiązanych typów. Dodatkowo TypeMock czasami prowadzi do bardzo dziwnych błędów ze względu na fakt, że działający kod jest modyfikowany.

Powiązane problemy