Co to jest najlepszym sposobem wdrożenia BDD / TDD w .NET 2.0?

głosy
20

Szukam, aby dodać zestaw testowy do mojego wniosku, jednak nie mogę przejść do testowania nowych ram dla .NET 3.5.

Czy ktoś ma sugestie na temat dobrych ram badawczych w użyciu?

Utwórz 05/08/2008 o 13:50
źródło użytkownik
W innych językach...                            


12 odpowiedzi

głosy
2

NUnit jest zawsze moją ulubioną. Jednak jeśli używasz TFS jako kontroli źródła Proponuję trzymać się z Microsoft stosu.

Odpowiedział 05/08/2008 o 13:51
źródło użytkownik

głosy
4

Dla Mock Object Library, znalazłem BSD-licencjonowany Rhino.Mocks się raczej przyjemne.

Odpowiedział 05/08/2008 o 13:54
źródło użytkownik

głosy
3

NUnit jest dostępny na http://www.nunit.org Proponuję to nawet podczas pracy na MS stosu - wsparcie dla ram non-MS dzieje się w zapowiedzi MVC, który pokazuje wyraźny ruch w dobrym kierunku, aby umożliwić nam wszystko, aby dostosować nasze stosy w celu dopasowania.

Odpowiedział 05/08/2008 o 14:03
źródło użytkownik

głosy
4

Miałem wielki sukces przy użyciu NUnit , jak również.

Ja również wykorzystywane NMock kiedy powstała potrzeba dla mock obiektów. Jako dodatkowy bonus, fabryka do tworzenia makiety obiektów nazywa się Kpina.

Aby ułatwić prowadzenie testów jednostkowych, Użyłem TestDriven.NET uruchomić testy jednostkowe jak kodowane. Również Użyłem Cruise Control .NET oglądać SVN i sprawdzić, że każdy nowy popełnić buduje i przechodzi wszystkie testy jednostkowe.

Odpowiedział 06/08/2008 o 15:06
źródło użytkownik

głosy
7

Używamy MbUnit i Rihno Mocks i okazują się bardzo dobrze ze sobą współpracować. Kiedy robi TDD prawie na pewno trzeba zrobić jakąś formę wstrzykiwania zależności, a można to zrobić ręcznie, warto patrząc na kontenera IoC takich jak Zamek Windsor .

To warto patrząc na ekranie Jana Pawła Bodhood rzuca aby zacząć grę. JPB Blog

Odpowiedział 06/08/2008 o 15:16
źródło użytkownik

głosy
3

Korzystanie z NUnit TFS nie jest zbyt trudne. Jest nawet projekt na CodePlex zaimplementować to: NUnit dla Zespołu Budowanie który nawet „publikuje” wyniki do magazynu.

Ja jej nie próbował - ale radzę klientom, którzy mają dużą inwestycję (lub, którzy mają silną preferencję dla niej na narzędziu MSTest) w NUnit, którzy są zainteresowani w realizacji TFS kontynuować NUnit w przeciwieństwie do próbując nawracać ich wszystkich istniejące testy.

Odpowiedział 07/09/2008 o 13:58
źródło użytkownik

głosy
9

NUnit i Rhino garnitur dobrze i auto-szyderczy pojemnik może być interesujące.

Jeśli szukasz na BDD zbyt następnie NBehave jest dobrym wyborem. Jeśli jednak po prostu na myśli styl BDD, które odnosi się do testów jednostkowych (xSpec) choć można uciec z dodawaniem ramy (choć takie rzeczy specunit zrobić dodać trochę cukru synctactic), ale warto spojrzeć na MSpec jest również interesująca.

Odpowiedział 12/09/2008 o 11:02
źródło użytkownik

głosy
3

Mam zamiar umieścić na okrzyk dla Min . To jest czyste światło szyderczy ramy, które pomaga poprowadzić Cię do dołu sukcesu.

Narzędzia testowe wbudowane w TFS są w porządku, będą one otrzymać pracę, ale często może być nieco kłopotliwe w użyciu. Generowane raporty, pokrycie kodu i kilka innych części są szczególnie złe, każą ci iść łysy na 22 zamiast 50.

Jeśli jesteś naprawdę kochający testowania, należy rozważyć próbuje trochę Continuous Integration. Poczujesz ból z regresją szybko i potencjalnie pomóc dostać się do celu końcowego szybciej.

Niezależnie od tego, co robisz wypróbować kilka i zobaczyć, który z nich jest najbardziej naturalnym, jeśli masz czas. Powodzenia i szczęśliwy kodowania.

Odpowiedział 27/09/2008 o 05:28
źródło użytkownik

głosy
4

Prawdopodobnie jest to podsumowanie tego, co już zostało powiedziane, ale ja osobiście używać TDD Rhino Mocks i MbUnit. Rhino Mocks jest szyderczy ramy, które jest darmowe i open source. Zaletą Rhino Mocks jest nie musimy używać magicznych ciągów w ustalaniu oczekiwania, jak to zrobić w NMock.

Lubię MbUnit ponieważ MbUnit ma pojęcia RowTests które pozwalają zmieniać swoich wejść do metody badawczej. MbUnit jest również dostępna.

Chcemy także, aby upewnić się, że niezależnie od wyboru do testowania ramach jednostkowej jest obsługiwana przez CI (Continuous Integration Server). Nunit jest obsługiwany domyślnie w Cruise Control.NET i trzeba zrobić trochę dodatkowej pracy, aby dostać pracę w MbUnit ccnet.

Z punktu widzenia IDE trzeba mieć TestDriven.NET. TestDriven.NET pozwala kliknąć i biegnij w prawo testów w IDE i obsługuje MbUnit i NUnit i innych.

NBehave jest biblioteka BDD użyłem. Nie stosować żadnych innych więc nie mogę porównać i je ze sobą, ale NBehave jest obsługiwany przez Gallio z zespołu MbUnit, co oznacza, że ​​można uruchomić swoje testy BDD tak samo jak twoi testy jednostkowe z TestDriven.NET.

Chciałbym również bardzo polecam Resharper. Znajdziesz znacznie zwiększyć produktywność z tym refactoring i praktyczne narzędzia. Pomoże Ci zmienia swój kod, jak rozwijają swoje testy.

Mam nadzieję że to pomoże

Odpowiedział 10/10/2008 o 19:06
źródło użytkownik

głosy
2

Polecam następujące:

TestDriven.NET - Unit Testing dodatek do VS, który jest w pełni zintegrowany ze wszystkimi głównymi ramach testów jednostkowych, w tym NUnit MbUnit etc ...

Typemock Izolator - szyderczy ramy dla .NET Unit Testing

NUnit - otwarta jednostka testowania ramy, które źródło jest w C #.

Odpowiedział 15/10/2008 o 15:24
źródło użytkownik

głosy
7

Sprawdź screencast Rob Conery w sprawie BDD korzystając MSpec. Bardzo imponujące http://blog.wekeroad.com/mvc-storefront/kona-3/

EDIT: I teraz korzystać z tego podejścia: http://10printhello.com/the-one-bdd-framework-to-rule-them/

Odpowiedział 17/06/2009 o 13:27
źródło użytkownik

głosy
2

Dla mojego projektu, użyłem NUnit i TestDriven.NET z wielkim sukcesem. Można też utworzyć osobną bibliotekę tylko do organizacji kodu testowego lub można umieścić go w pliku wykonywalnego lub biblioteki. Wszystko zależy, czy chcesz swój kod produkcyjny należy przeplatać z kodem testowym.

Dla Dependency Injection, używam NInject w moim obecnym projekcie i jego doskonale. Jeśli używasz konstruktora wtrysku, nie trzeba zaśmiecać swój kod z [Inject] atrybutu.

Nie używałem próbny dla mojego projektu biblioteki .NET 2.0, ale dla innego .NET 3.5 projektu użyję Min

Zauważ, że to wszystko działa z .NET 2.0 i wyżej. (Z wyjątkiem Min)

Odpowiedział 17/06/2009 o 13:48
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more