Początki z JUnit

Odpowiedz Nowy wątek
2014-12-24 15:57
0

Witam. Zaczynam swoją przygodę z testami. Moim celem jest przetestowanie metody która zwraca objekt BigDecimal.
Używając assertEquals i assertSame otrzymuje komunikat: junit.framework.AssertionFailedError: expected same:<4> was not:<4>;
Jak przetestować taką metodę ?
Pozdrawiam.

edytowany 1x, ostatnio: Kolbaa, 2014-12-24 16:15

Pozostało 580 znaków

2014-12-24 16:33
0

nie lepiej użyć asercji od hamcrest? wgl to JUnit potrafi wkurwić. springową @PostConstruct metodę odpala za każdym razem dla każdego zaadnotowanego @Test w danej "klasie".


PROGRAMY NA ZAMÓWIENIE, ZALICZENIA STUDENCKIE, KONFIGURACJA SERWERÓW, SYSTEMÓW I BAZ DANYCH, STRONY INTERNETOWE, POMOC W PROGRAMOWANIU, POPRAWIENIE I OPTYMALIZACJA APLIKACJI
JAVA, C++, LINUX, WWW, SQL, PYTHON
POSIADAM KOMERCYJNE DOŚWIADCZENIE
TANIO, SZYBKO I PORZĄDNIE
Z KOMENTARZAMI OBJAŚNIAJĄCYMI KOD
PISZ NA PRYWATNĄ WIADOMOŚĆ
CENY JUŻ OD 49,99ZŁ ZA PROGRAM
ZAJMIJ SIĘ TYM CO CIĘ NAPRAWDĘ INTERESUJE!
Pokaż pozostałe 6 komentarzy
jakby nie było jest jeszcze TestNG w którym @BeforeClass nie musi być static a @PostConstruct działa normalnie.. ;p . - karolinaa 2014-12-28 11:44
A w czym przeszkadza Ci statyczne BeforeClass? Nie bardzo rozumiem, co chcesz osiągnąć wołając coś raz na obiekcie utworzonym w teście. W każdej metodzie testowej będzie to inny obiekt, więc jakakolwiek inicjalizacja powinna faktycznie odbywać się tyle razy ile masz testów... - airborn 2014-12-28 12:01
mam JakisServiceTest i potrzebuję tylko raz wykonać coś na wstrzykniętym serwisie przed odpaleniem testów. przez statyczne @BeforeClass nie jestem w stanie tego zrobić. chciałabym niezależne testy, ale czasem w praktyce wygląda to inaczej. mam 101 test a wcześniejsze 100 różnie pozmieniało mi standardowe ustawienia singletonowych serwisów (które nawet nie mają niczego ala clear(), clean()) - karolinaa 2014-12-28 12:28
Ale co z tego, że Twoje serwisy są singletonowe. Jeżeli testy są niezależne, to nie powinno mieć znaczenia, bo serwis i tak powinien być stworzony od nowa przed każdym z nich. - airborn 2014-12-28 21:42
no tak to w springowym konfigu o profilu dla testów trzeba by zmienić scope na np. prototype. nwm czy to dobra praktyka, ale warta uwagi - karolinaa 2014-12-28 22:00

Pozostało 580 znaków

2014-12-24 16:44
0

Tak jak mówię zaczynam początki z testowaniem wiec nie znam na razie Hamcrest. Obeszłem problem wykorzystująć assertTrue i porównanie obiektów za pomocą equals.

Pozostało 580 znaków

2014-12-24 16:51
Tgc
1

@Kolbaa:
Twoj pomysl jest i tak buggogenny, bo:

BigDecimal x = new BigDecimal("1.00");
BigDecimal y = new BigDecimal("1.0");
System.out.println(x.equals(y));

Wyswietli false. W twoim przypadku mozesz uzyc metody compareTo:

assertEquals(0,x.compareTo(y))
edytowany 4x, ostatnio: Tgc, 2014-12-24 16:53

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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