Informacje na temat testowania w Java

0

Witam

Prosilbym o podanie jakichs zrodel (ksiazki, linki www) z informacjami na temat testowania aplikacji Java. Generalnie testy jednostkowe w JUnit sa mi znane na podstawowym poziomie. Bylbym wdzieczny rowniez za podanie odnosnikow do jakiegos bardziej zaawansowanego tutoriala z wykorzystaniem JUnitu. Oczywiscie wersja 4.x.

Zalezy mi, zeby informacje byly pewne i profesjonalne.

0

Zapomnij powoli o JUnit, moze TestNG?

0

Zgadzam się testNG ma o wiele więcej możliwości. Choć jeszcze nie wszystkie narzędzia z nim współpracują np inifinitest

0

Jeszcze? TestNG to nic nowego, czyli sa ignorantami ;d Sam robilem kilka portow roznych dodatkowych bibliotek z JUnit do TestNG i zazwyczaj jest to trywialne.

0

Od razu się zapytam aby nie tworzyć nowego wątku ile w waszych aplikacjach jest testów jednostkowych a ile integracyjnych(wymagajacych serwera,bazki itp). Bo umnie w projekcie jednostkowych 10% integracyjnych 90%. I teraz nie wiem czy cos zle robimy bo na wszystkich prezentacjach które widziałem dotyczą jak fajnie pisze sie testy jednostkowe TDD itp

0

Jako dodatek do JUnit polecam mockito.
Jest to niezastąpione narzędzie, gdy chcemy zrobić test jednostkowy klasy, która do swojego działania potrzebuje zewnętrznych zasobów (np. bazy danych). Dzięki tej bibliotece można "oszukać" naszą klasę podsuwając jej sztuczne dane lub dać jej lipne serwisy.

http://mockito.org/

Jeżeli ktoś korzysta ze Springa, to dodatkowo polecam SpringJUnit4ClassRunner:
http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/test/context/junit4/SpringJUnit4ClassRunner.html
http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/test/context/ContextConfiguration.html

0

Czesc.
U nas metody biznesowe glownie wygladaja tak:

if(jakis_warunek){
dodajCosDoTabeliX();
else{
dodajCosDoTabliY();
}

I teraz jak puszczamy test to patrzymy czy metoda odpowiednio wpisała odpowiednie dane w odpowiednie tabele. Jak mam to zamokować. Zgadzam się ze jezeli serwis korzysta z innych serwisow to mozna je zamokowac

0

Jeżeli nasza aplikacji nie ma większej logiki, a jest tylko GUI do bazy, to mamy trzy opcje:
a) Użyć oddzielnej bazy do testów jednostkowych (np. hsqldb lub h2, najlepiej w pamięci)
b) Użyć prawdziwej bazy, ale wtedy należy cofnąć zmiany. Do tego najlepiej użyć frameworka Springa do testów, bo on cofa transakcje na koniec każdego testu oznaczonego jako Transactional
c) Dać sobie spokój z testami, bo w tak prostej aplikacji pisanie testów to tylko strata czasu

Ja ostatnio piszę aplikację gdzie logika biznesowa jest bardzo skomplikowana (w przeciwieństwie do GUI i bazy). Testy jednostkowe i mocki bardzo mi się przydają.

0

Do testow z baza swietny jest DbUnit. Bardzo latwo integrowac z TestNG, JUnit wbudowany (ale dosc ubogi w porownaniu z tym co mozna zrobic). Zdaje sie ze Pan Szczery juz w takiej dyskucji kiedys uczestniczyl.

1 użytkowników online, w tym zalogowanych: 0, gości: 1