2011-01-12 15 views
20

Jaki jest najlepszy sposób konfiguracji log4j do użytku w środowisku testowym jednostki? Wolę moje testy jednostkowe, aby nie mieć zewnętrznych zależności, więc odczytanie pliku konfiguracyjnego log4j nie jest opcją. Idealnie byłoby 1 lub 2 wywołania funkcji, które mogłem wykonać z poziomu funkcji konfiguracji testu urządzenia.Jak skonfigurować log4j w środowisku testowym urządzenia?

+0

Czy myślałeś o użyciu slf4j które mogą być lepsze dla usecase myślę. – OpenSource

+0

Zewnętrzna konfiguracja Log4J nie jest zła, ponieważ programista może ją zmienić podczas polowania na błędy. – xmedeko

Odpowiedz

15

można umieścić statyczny blok kodu na początku testu, dokłada

BasicConfigurator.configure(); 

Należy zauważyć, że problem polega na tym, że za każdym razem, że linia jest wykonywany, log4j doda appender a dostaniesz zduplikowane wyciągi z dziennika. Jeśli zrobisz to w każdej klasie testowej, otrzymasz n duplikatów każdego wyciągu dziennika.

Polecam więc stworzenie klasy, która jest twoją BaseTestCase i zrobienie tego tam.

Uwaga, mając jakieś testowych zasobów z odpowiednią konfiguracją nie jest zły pomysł ...

+0

Dziękuję. Zduplikowani aplikanci są moim problemem z tym podejściem. –

+12

Prostszym sposobem, aby nie "skończyć z n duplikatami każdej instrukcji dziennika" jest poprzedzanie powyższej linii kodu przez: BasicConfigurator.resetConfiguration(); – urig

+2

@urig: zrobiłeś mój dzień – boutta

Powiązane problemy