/ / dla jakiej warstwy należy napisać test jednostkowy? - .net, asp.net-mvc-3, wcf, testowanie jednostkowe, mstest

dla jakiej warstwy należy napisać test jednostkowy? - .net, asp.net-mvc-3, wcf, testowanie jednostkowe, mstest

Jestem nowy w testowaniu jednostkowym / TDD. Tworzymy aplikację internetową o następującej architekturze:

  1. MVC
  2. Warstwa usługi WCF
  3. Warstwa logiki biznesowej
  4. DAL z EF

Nie robiłem wcześniej testów jednostkowych, ale widziałem to w niektórych projektach, więc nie mam jasnego pojęcia na ten temat.

Czy powinniśmy pisać testy jednostkowe dla każdej metody z każdej warstwy, czy te są specyficzne dla jakiejś warstwy?

Po drugie, czy powinniśmy umieścić jeden projekt i umieścić w nim test wszystkich warstw? Chcę wiedzieć, jak zarządzać testami jednostkowymi dla wszystkich warstw w projekcie testowym?

Odpowiedzi:

1 dla odpowiedzi № 1

Pracuję dla wszechstronnego sklepu i robimy co następuje:

1. Rozpoczynamy od napisania UAT (User Acceptance Tests). Dla ciebie będzie to wykonane przez Cucumber + WatiN lub coś podobnego. Są napisane z myślą o funkcjach biznesowych.
2. Następnie piszemy testy jednostkowe dla klas (klas), które zamierzamy dodać. Oznacza to testowanie każdej pojedynczej metody publicznej i wszystkich jej gałęzi logicznych. Dotyczy to niemal wszystkiego, ale poglądów.
3. W przypadku owłosionego kodu dodajemy testy na poziomie integracji, które wiążą wiele klas, aby zapewnić ich prawidłową integrację.

Niektóre warstwy nie są testowane jako założenie, że "po prostu działają" (DBMS)

Zwykle CI powinien najpierw uruchomić testy jednostkowe, potem testy integracyjne (jeśli testy jednostkowe przechodzą), a na końcu UAT, które są najwolniejsze i tylko wtedy, gdy testy integracyjne zdadzą