2010-04-06 17 views
12

Używam Eclipse do uruchamiania testów w pojedynczej klasie testowej junit (4). Wszystkie testy w klasie przebiegają bez zarzutu. Następnie dodam dodatkowy test i poprowadzę klasę przez test uruchomiony ponownie w ecplise. Testowane są tylko stare testy. Nowy test nie jest postrzegany przez Zaćmienie. Nie ma błędu ani niczego, to tak, jakby eclipse patrzył na starą wersję testu.Eclipse nie widzi mojego nowego testu junitowego

Jeśli przeprowadzę testy przy użyciu maven, wszystko działa poprawnie. Dodatkowo, po uruchomieniu testów w maven, ecplipse może poprawnie zobaczyć i uruchomić nowy test.

Jakieś pomysły, co się dzieje? Jakieś pomysły, jak zdobyć biegacza testowego Ecplipse, aby zobaczyć moje nowe przypadki testowe?

+2

Wypróbuj Project/Clean i Project/Rebuild –

+0

Czy możesz to naprawić? – Doppelganger

Odpowiedz

0

Wygląda na to, że Twój projekt nie został ponownie skompilowany. Sprawdź Menu: Projektuj/Buduj automatycznie lub rób to ręcznie, jak skomentował Boris Pavlocic.

1

Może po prostu "musisz" utworzyć nową konfigurację Run. Eclipse "zapamiętuje" ostatnio używaną konfigurację Run i po prostu ją powtarza, jeśli nie zostanie podane inaczej. Aby upewnić się, że masz nową konfigurację Run, możesz kliknąć okno testowe w eksploratorze pakietów i wybrać Run As | Test Junit. Następnym razem trafisz grać to będzie „pamiętał” Run konfiguracja itp

0

To wydaje się być taki sam problem jak junit not using the newest file

Problem wydaje się być to, że Eclipse skompilowane testy stawia w złym folderze, który może rozwiązywać ręcznie, określając, gdzie powinny się znaleźć.

10

Miałem ten sam problem. Rozwiązałem to w następujący sposób:

  • Idąc do Project -> Właściwości -> Java Budowa ścieżki
    folderu źródłowego src/test/java folder wyjściowy został ustawiony na "folderze wyjściowym Domyślna"
  • ustawienie to typowy Maven target/test-classes katalogu w swojej strukturze Maven

Po tym, Maven i Eclipse były zsynchronizowane (w przeciwieństwie do Eclipse działa starszą wersję testów szczęśliwie, fro m zawsze, gdy ostatnia kompilacja Mavena była).

+0

Ponadto w moim przypadku musiałem usunąć folder 'target/test-classes', wyczyścić i odbudować obszar roboczy. Zacząłem pracę po tym. – Whyves

1

Prawdopodobnie src/test nie znajduje się na ścieżce budowania Java.

Rozwiązanie na Keplera:

Project -> Build Path -> Configure Build Path -> Source -> Add Folder

Następnie zaznacz pole odpowiadające testu pod src

+0

Działa również dla Luny – AKT

1

Może się wydawać, że jest to prawdopodobnie spowodowane budowaniem Mavena (Maven zazwyczaj buduje się w folderze "target"), ale Eclipse używa innego folderu kompilacji do własnego procesu kompilacji. Najprostszym sposobem jest przejście do folderu docelowego w ramach projektu Eclipse (lub pakietu, jeśli używasz OSGi) i usunięcie konfliktowych podfolderów/plików klas spod tego katalogu; dla mnie jest to mój folder "docelowy". Następnie zmodyfikuj Eclipse i wszystko powinno być w porządku.

Jeśli chcesz, możesz alternatywnie odrzucić cały folder budowy/celu i pozwolić Eclipse na odbudowanie wszystkiego.

1

W odpowiedzi na odpowiedź udzieloną przez Ryana Dawe, dowiedziałem się, że domyślny folder wyjściowy może być ustawiony tylko na jeden folder, dla wszystkich folderów źródłowych na ścieżce budowania. Więc jeśli zmieniłem folder wyjściowy na target/test-classes, mój src/main/java również wyprowadzał tam klasy. Być może napisałeś tę odpowiedź dla innej starszej wersji środowiska Eclipse, ale od wersji Mars.2 możemy mieć tylko jeden domyślny folder wyjściowy dla wszystkich folderów źródłowych.

Najlepszym rozwiązaniem, jakie dotychczas znalazłem dla tego problemu, jest po prostu uwzględnienie klas docelowych/testowych jako folderu klasy, przechodząc do opcji Projekt -> Właściwości -> Ścieżka tworzenia Java -> Biblioteki -> Dodaj folder klasy .

+0

Po rozwinięciu węzła folderów źródłowych wyższego poziomu powinien istnieć węzeł "folder wyjściowy". Jeśli nadal nie możesz go zobaczyć, spróbuj przejść przez Eksplorator pakietów, jak opisano na https://stackoverflow.com/questions/6087690/eclipse-maven-junit-tests-not-compiled-when-running-them – Taras

0

Dodaj "test" przed swoimi klasami testowymi, jeśli nie ma już adnotacji @Test nie zawsze jest pobierana z platformy testowej Junit Test Eclipse.

Powiązane problemy