Właśnie zaczynam program informatyczny na studiach i mam pewne problemy z IntelliJ. Gdy próbuję uruchomić testy jednostkowe, pojawia się komunikat
Process finished with exit code 1
Class not found: "edu.macalester.comp124.hw0.AreaTest"Empty test suite.
Widzę także komunikat zatytułowany „Nie znaleziono testów” po lewej stronie ekranu. Mój kod testowy jest tutaj:
package edu.macalester.comp124.hw0;
import org.junit.Test;
import static org.junit.Assert.*;
public class AreaTest {
@Test
public void testSquare() {
assertEquals(Area.getSquareArea(3.0), 9.0, 0.001);
}
@Test
public void testCircle() {
assertEquals(Area.getCircleArea(3.0), 28.2743, 0.001);
}
}
A mój kod projektu jest tutaj:
package edu.macalester.comp124.hw0;
import java.lang.Math;
public class Area {
/**
* Calculates the area of a square.
* @param sideLength The length of the side of a square
* @return The area
*/
public static double getSquareArea(double sideLength) {
// Has been replaced by correct formula
return sideLength * sideLength;
}
/**
* Calculates the area of a circle.
* @param radius The radius of the circle
* @return The area
*/
public static double getCircleArea(double radius) {
// Replaced by correct value
return radius * 2 * Math.PI;
}
}
Jak mogę uruchomić testy? Korzystam z najnowszej wersji IntelliJ IDEA CE.
java
unit-testing
intellij-idea
junit
arnbobo
źródło
źródło
mvn clean package
w terminalu. Nie wiem, dlaczego IntelliJ na początku zaimportował projekt nieprawidłowo.Odpowiedzi:
Miałem tę samą wiadomość. Musiałem usunąć konfigurację Run / Debug.
W moim przypadku wcześniej przeprowadziłem test jednostkowy jako test lokalny. Następnie przeniosłem mój test do pakietu androidTest i próbowałem go uruchomić ponownie. Android Studio zapamiętało ostatnią konfigurację uruchomienia, więc próbowało uruchomić ją ponownie jako test jednostki lokalnej, który spowodował ten sam błąd.
Po usunięciu konfiguracji i ponownym uruchomieniu testu wygenerowała nową konfigurację i działała.
źródło
File > Cashes / Restart
Poszłam do
a potem zadziałało dla mnie.
źródło
Miałem ten sam problem. Odbudowałem projekt i to mi pomogło.
Przejdź do Kompilacja -> Przebuduj projekt
Następnie, jeśli korzystasz z narzędzia Maven, polecam skorzystać z opcji Reimportuj wszystkie projekty Maven
Jeśli to nie pomoże, wypróbuj inne możliwe rozwiązania:
lub:
Zrób to samo z katalogiem testowym, więc: src / test / java kliknij prawym przyciskiem myszy katalog java i wybierz opcję Oznacz katalog as -> Testuj źródła Root
lub:
lub:
Sprawdź opcje:
Przycisk opcji Należy wybrać ścieżkę wyjściową kompilacji modułu .
Ścieżka wyjściowa powinna znajdować się w twoim projekcie. Również ścieżka wyjściowa testowy powinien być katalog wewnątrz projektu. Na przykład może wyglądać podobnie:
Ścieżka wyjściowa: C: \ ścieżka \ do \ twój \ moduł \ twójModuł \ cel \ klas
Test Ścieżka wyjściowa: C: \ ścieżka \ do \ twój \ moduł \ twójModuł \ cel \ klasy testowe
Wyklucz wyjście ścieżki powinny być odznaczone.
źródło
Build -> Rebuild Project
), co działało dla mnie. Dziękuję Ci!<project-root>/src/test/java
jako testowy root iBuild -> Rebuild Project
zadziałało dla mnie. Również gdy klasy zawierające testy były w pakiecie z nazwą pakietu zaczynającą się odjava.*
, otrzymałem wyjątek bezpieczeństwa.Może się tak również zdarzyć, jeśli folder testowy został zaimportowany jako osobny moduł (na ikonie folderu w widoku projektu widoczny jest mały kwadrat).
Usuń moduł, wybierając folder testowy w widoku projektu i naciśnij DEL.
Następnie rozpocznij test.
Jeśli pojawi się wyskakujące okno dialogowe z komunikatem o błędzie, że nie wybrano żadnego modułu, określ moduł główny z menu rozwijanego.
źródło
Miałem podobny problem po rozpoczęciu nowego projektu IntelliJ. Odkryłem, że „ścieżka wyjściowa kompilacji modułu” dla mojego modułu nie została poprawnie określona. Kiedy przypisałem ścieżkę w „ścieżce wyjściowej kompilacji” modułu do właściwej lokalizacji, problem został rozwiązany. Ścieżka wyjściowa kompilacji jest przypisana w ustawieniach projektu. W obszarze Moduły wybierz zaangażowany moduł i wybierz kartę Ścieżki ...
Karta Ścieżki w Ustawieniach projektu | Okno dialogowe modułów
... Wysłałem dane wyjściowe kompilatora do folderu o nazwie „dane wyjściowe”, który znajduje się w nadrzędnym folderze projektu.
źródło
W moim przypadku miałem wszystko inne we właściwym miejscu, ale pracowałem nad biblioteką Java z kotlin . Właśnie zapomniałem zastosować wtyczkę:
A teraz działa zgodnie z oczekiwaniami.
źródło
Mój problem dotyczył tutaj nazw folderów. Nazwałem mój folder kodu Klasy 2016/2017, który nie podobał się IntelliJ. Wystarczy usunąć ukośnik (lub inną obrażającą postać na ścieżce), ponownie zaimportować projekt, a będziesz gotowy!
źródło
W Android Studio 3.0 + czasami testy interfejsu użytkownika są w jakiś sposób interpretowane jako testy jednostkowe i nie wymagają wyboru docelowego wdrożenia. Możesz przejść do Edytuj konfigurację i oznaczyć go jako test integracji, a on zacznie działać
źródło
Miałem ten sam problem i przebudowywanie / unieważnianie pamięci podręcznej itp. Nie działało. Wygląda na to, że to tylko błąd w Android Studio ...
Tymczasowym rozwiązaniem jest uruchomienie testów jednostkowych z wiersza poleceń za pomocą:
Zobacz: https://developer.android.com/studio/test/command-line.html
źródło
Jeśli w projekcie występuje problem z kompilacją, testy mogą się nie uruchomić. Najpierw zbuduj projekt jako Build -> Build Project. Po udanej kompilacji ponownie uruchom test.
Jeśli nic nie działa, po prostu zamknij okno projektu i usuń projekt i ponownie zaimportuj jako projekt Gradle / Maven, który ustawi wszystko dla Ciebie, zastępując istniejące pliki utworzone przez IntelliJ. Spowoduje to usunięcie utworzonej nieprawidłowej pamięci podręcznej.
Możesz także po prostu unieważnić pamięć podręczną.
File -> Invalidate Caches/Restart
źródło
Miałem to samo pytanie, kiedy importowałem niektóre
jar
z Maven, a następnie powodowałemempty-test-suite
błąd.W moim przypadku było tak dlatego, że maven zresetował pliki modułów. Rozwiązane przez wyczyszczenie mojej domyślnej konfiguracji:
źródło
Reimportuj projekt lub moduł może rozwiązać problem. Zrobiłem ten problem, zmieniając nazwę pakietu podczas programowania. Ale droga na zewnątrz i ścieżka wyjścia testowego jest stara droga. Więc intellij nie może znaleźć klasy ze starej ścieżki. Zatem najprostszym sposobem jest poprawienie ścieżki wyjściowej i ścieżki wyjściowej testu.
źródło
Miałem ten sam problem (Android Studio 3.2 Canary 4) i wypróbowałem większość sugestii opisanych w innych odpowiedziach - bez powodzenia. Uwaga: stało się to po przeniesieniu pliku z
test
doandroidTest
folderu. Nadal był pokazywany w konfiguracjach przebiegu jako test zamiast testu instrumentalnego.W końcu kończę tworzenie nowego pliku:
źródło
Co ciekawe, miałem do czynienia z tym problemem wiele razy z różnych powodów. Na przykład unieważnienie pamięci podręcznej i ponowne uruchomienie pomogło również .
Ostatnio to naprawiłem, poprawiając ścieżkę wyjściową w Plik -> Struktura projektu -> Projekt -> Dane wyjściowe kompilatora projektu na: ścieżka_ absolutna_pakietu / wyjście
na przykład: / Users / random-guy / myWorkspace / src / DummyProject / out
źródło
Stanie się tak również wtedy, gdy twój moduł i / lub projekt-jdk nie zostaną poprawnie skonfigurowane.
źródło
Usunięcie
.idea
i ponowne zaimportowanie projektu SBT rozwiązało dla mnie ten problem.źródło
W moim przypadku IntelliJ nie skompilował źródeł testowych z dziwnego powodu. Po prostu zmodyfikowałem konfigurację kompilacji i dodałem cel maven
clean test-compile
wBefore launch
sekcjiźródło
W moim przypadku wystąpił problem z nazwą testu :).
Jeśli nazwa brzmiała:
dummyNameTest
nie uzyskaj żadnych testów, ale jeślitestDummyName
wszystko było w porządkuźródło
Miałem ten sam problem. W moim przypadku miałem kilka klas testowych w pakiecie / folderze poza głównym folderem. Ale kiedy sprawdziłem konfigurację Run, zawsze starałem się szukać klas w głównym folderze (a nie moich pakietów poza głównym). W takim przypadku musisz przenieść pakiety do miejsca, w którym wskazuje konfiguracja Uruchom. Lub zmień konfigurację uruchamiania, aby wskazywała na twoje pakiety.
źródło
Czy Twój test wymaga urządzenia z Androidem (emulatora lub sprzętu)?
Jeśli tak, nazywa się to „testem instrumentalnym” i znajduje się w „module-name / src / androidTest / java /”.
Jeśli nie, nazywa się to „testem jednostki lokalnej” i znajduje się w „module-name / src / test / java”
https://developer.android.com/training/testing/start/index.html
Wystąpił ten sam błąd, ponieważ napisałem test jednostki lokalnej, ale został on umieszczony w folderze do testów instrumentalnych. Przeniesienie testu jednostki lokalnej do folderu „src / test / java” naprawiło to dla mnie.
źródło
Otrzymywał ten sam błąd. Moje urządzenie nie było podłączone do studia Android. Kiedy podłączyłem się do studia. To działa. To rozwiązuje mój problem.
źródło
Jest tak prawdopodobnie dlatego, że folder nie jest ustawiony jako źródło testowe, co można zrobić za pomocą Ustawienia modułu> Moduły.
źródło
Dla mnie projekt został skompilowany poza projektem. Po prostu zmieniam ścieżkę. Do zmiany ścieżki (używam Maca).
źródło
W moim przypadku problem został rozwiązany poprzez przejście do mojego
build.gradle
i zmianędo
źródło
Wypróbowałem wszystkie rozwiązania, ale żadne z nich nie pomogło. Na koniec uruchamiam test w trybie debugowania i .... zaczął działać. Może pamięć podręczna jakiegoś raju została wyczyszczona. Trudno powiedzieć. To działa. Próbować
mvn test -X
źródło
Po prostu kliknij prawym przyciskiem myszy plik w oknie projektów i wybierz
„Uruchom swój test ”.
Wszystko zaczyna się teraz OK, prawdopodobnie dlatego, że błędna konfiguracja uruchamiania jest odbudowywana od nowa.
źródło
Może się to zdarzyć (przynajmniej raz dla mnie;) po zainstalowaniu nowej wersji IntelliJ i wtyczek IntelliJ nie zostało jeszcze zaktualizowanych.
Może być konieczne ręczne wykonanie
Check for updates…
z menu Pomoc IntelliJ.źródło
W strukturze projektu Maven src / main / java kliknij prawym przyciskiem myszy katalog java i wybierz opcję Oznacz katalog jako -> Źródłowy katalog główny
Podobnie zrobić to samo z katalogiem testowym, więc: src / test / java kliknij prawym przyciskiem myszy katalog java i wybierz opcję Oznacz katalog jako -> Katalog źródeł źródłowych
Pracował dla mnie :-)
źródło
wykonaj poniższe kroki w Intellij (ze zrzutami ekranu dla lepszego zrozumienia):
przejdź do modułów, a następnie wybierz moduł, w którym znajduje się plik testowy Junit, i wybierz przycisk opcji „Użyj ścieżki wyjściowej kompilacji modułu”.
Podaj ścieżkę do folderu odpowiednich klas, podobną do dołączonego zrzutu ekranu.
źródło
Ten sam problem tutaj przy użyciu IDEA 15.0.6 i nic nie pomogło, poza tym, kiedy zmieniłem nazwę pakietu, w którym znajdowała się klasa testowa. Potem zmieniłem nazwę z powrotem na pierwotną nazwę i nadal działało, więc akcja zmiany nazwy mogła wyczyścić pamięć podręczną.
źródło