2010-03-30 16 views
8

Zastanawiam się, gdzie umieścić projekt jednostki/testu integracji. Wykonuję 1 projekt testowy pr. Projekt konwencjiGdzie umieścić test jednostkowy projektu

mogę myśleć 3 sposoby, że wszystko wydaje się dobre dla mnie, które sprawiają, że niby trudno wybrać :-)

  1. Projekt testowy jest umieszczany pod Testy sub folder do projektu to testy.
  2. Projekt testowy jest umieszczany obok projektu, który testuje, w "projekcie". Folder Testy. Uważam, że to właśnie zaleca Roy Osherove.
  3. Umieść wszystkie projekty testowe w podkatalogu w katalogu głównym. na przykład \ Testy \ "projekt". Testy
  4. Coś jeszcze?

Co wybierasz i dlaczego?

Odpowiedz

1

Poszedłem z nr 1, aby po dokonaniu kasy projektu, masz również testy. W przeciwnym razie testy stają się jeszcze WIĘCEJ od refleksji.

3

Lubię fizycznie wszystkie projekty na tym samym poziomie. Nie mam wielkiego argumentu, tylko dla prostoty. W końcu studio visual pokazuje wszystkie projekty na tym samym poziomie.

.../Project/Project.Web/ 
.../Project/Project.Model/ 
.../Project/Project.DataAccess/ 
.../Project/Project.UnitTest/ 
etc
4

Opcja 2 jest moją preferowaną. Poza wszystkim innym, jest to po prostu ustawienie domyślne podczas tworzenia nowego projektu biblioteki klas - znajduje się on w tym samym katalogu rozwiązań, co projekt (y) produkcyjny.

Aby sprzeciwić się argumentowi dotyczącemu sprawdzenia projektu bez jego testów, stosunkowo rzadko zdarza mi się sprawdzić tylko projekt, a nie całe rozwiązanie. Jeśli jesteś bardziej "oparty na projekcie" niż "oparty na rozwiązaniach", to może to zmienić.

2

Projekt testowy jest umieszczany obok projektu to testów w „projekt” .Tests folderu. Uważam, że to właśnie zaleca Roe Osherove.

To jest moja ulubiona osoba. Jest to ten, który najlepiej oddaje intencję, a także pozwala na pierwszy rzut oka zobaczyć, jakie projekty testowe pasują do których projektów, jeśli patrzysz na nie w katalogu, lub masz jakiś powód, by grupować projekty w jedno rozwiązanie.

0

Domyślne rozwiązanie Visual Studio 2010 Asp.Net MVC to inny projekt w ramach tego samego rozwiązania. Jest to duża pomoc, jeśli chodzi o testowanie kompilacji ze wszystkimi referencjami.

0

Uważam, że opcja 2 to najlepszy wybór. Testy to świetny sposób na dokumentowanie kodu. Wyjaśniają semantykę metod i klas. Programista powinien łatwo przejść do kodu testowego dla pewnej metody, którą uważa za wątpliwą.

Z drugiej strony zachowanie kodu testowego w tym samym projekcie może spowodować, że skompilowane wyjście binarne będzie większe i wymusić na projektach zależności wymagane tylko przez kod testowy.

Powiązane problemy