‘Geen JUnit-tests gevonden’ in Eclipse

Dus ik ben nieuw bij JUnit en we moeten het gebruiken voor een huiswerkopdracht. Onze professor gaf ons een project met één testklas, BallTest.java. Als ik met de rechtermuisknop op > Uitvoeren als > JUnit-test, ik krijg een pop-upfout met de melding ‘Geen JUnit-tests gevonden’. Ik weet dat de vraag hier is beantwoord(Geen tests gevonden met testrunner’ JUnit 4′), maar het sluiten van eclipse, herstarten, opschonen en bouwen lijkt niet te werken. Hieronder staan screenshots van mijn runconfiguratie, buildpad en de klasse die ik probeer te testen.


BallTest.java

import static org.junit.Assert.*;
import junit.framework.Assert;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.JUnitCore; 
import org.junit.runner.Result; 
import org.junit.runner.notification.Failure; 
public class BallTest {
Ball ball;
/**
 * @throws java.lang.Exception
 */
@Before
public void setUp() throws Exception {
    System.out.println("Setting up ...");
    Point2D p = new Point2D(0,0);
    ball = new Ball(p);
}
/**
 * @throws java.lang.Exception
 */
@After
public void tearDown() throws Exception {
    System.out.println("Tearing down ...");
    ball = null;
}
/**
 * Test method for {@link Ball#getCoordinates()}.
 */
@Test
public void testGetCoordinates() {
    assertNotNull(ball); // don't need Assert. because of the import statement above.
    Assert.assertEquals(ball.getCoordinates().getX(), 0);
    Assert.assertEquals(ball.getCoordinates().getY(), 0);
}
/**
 * Test method for {@link Ball#setCoordinates(Point2D)}.
 */
@Test
public void testSetCoordinates() {
    Assert.assertNotNull(ball);
    Point2D p = new Point2D(99,99);
    ball.setCoordinates(p);
    Assert.assertEquals(ball.getCoordinates().getX(), 99);
    Assert.assertEquals(ball.getCoordinates().getY(), 99);
}
/**
 * Test method for {@link Ball#Ball(Point2D)}.
 */
@Test
public void testBall() {
    Point2D p = new Point2D(49,30);
    ball = new Ball(p);
    Assert.assertNotNull(ball);
    Assert.assertEquals(ball.getCoordinates().getX(), 49);
    Assert.assertEquals(ball.getCoordinates().getY(), 30);
    //fail("Not yet implemented");
}
public static void main (String[] args) {
         Result result = JUnitCore.runClasses(BallTest.class);
         for (Failure failure : result.getFailures()) { 
                System.out.println(failure.toString()); 
            } 
        System.out.println(result.wasSuccessful());  
}
}

Antwoord 1, autoriteit 100%

Klik met de rechtermuisknop op Project > Eigenschappen > Java-opbouwpad > Voeg de Test-map toe als bronmap.

Alle bronmappen, inclusief testklassen, moeten in Eclipse Java Build Path staan. Zodat de bronnen zoals hoofd- en testklassen kunnen worden gecompileerd in de bouwmap (de standaardmap van Eclipse is bin).


Antwoord 2, autoriteit 24%

Als geen van de andere antwoorden voor jou werkt, is dit wat voor mij werkte.

Herstart zonsverduistering

Ik had de bronmap correct geconfigureerd en unit-tests correct geannoteerd, maar kreeg nog steeds “Geen JUnit-tests gevonden”, voor één project. Na een herstart werkte het. Ik gebruikte STS 3.6.2 op basis van eclipse Luna 4.4.1


Antwoord 3, autoriteit 13%

klik met de rechtermuisknop -> bouwpad -> verwijderen uit buildpad
en voeg het dan opnieuw toe ->
Klik met de rechtermuisknop op de map met de naam ‘Test’ > Bouwpad > Gebruiken als bronmap.


Antwoord 4, autoriteit 11%

Ik had hetzelfde probleem en heb het als volgt opgelost:
Ik heb de @Test-annotatie verwijderd en opnieuw getypt.
Het werkte gewoon, ik heb geen idee waarom.


Antwoord 5, autoriteit 6%

Het lijkt erop dat je de definitie van de hardloper in je testles mist, dat kan de oorzaak zijn:

import org.junit.runners.JUnit4;
@RunWith(JUnit4.class)
public class BallTest {
...
}

Antwoord 6, autoriteit 4%

  1. Klik met de rechtermuisknop op uw project ->Properties->Java Build Path en ga naar het tabblad Bron en voeg vervolgens uw test src-map toe.
  2. Selecteer het menu Project en deselecteer de optie ‘Automatisch bouwen’ indien geselecteerd
  3. Selecteer Opschonen en selecteer vervolgens de optie ‘Automatisch bouwen’
  4. Herstart Eclipse en voer je junit uit.

Antwoord 7, autoriteit 4%

junit4vereist dat de testklassenaam Testals achtervoegsel moet zijn.


Antwoord 8, autoriteit 3%

Elke oplossing werkte voor mij niet totdat ik de naam van de mijn testmethode wijzigde. Als de naam van de testmethode begint met “test” is OK.
Ik ben nieuw in Android-programmeren en het was voor mij een grote verrassing.


Antwoord 9, autoriteit 3%

Ik denk dat je je testklassen buiten de src-map hebt gemaakt. U kunt het bovenstaande probleem op twee manieren oplossen:

  1. Voeg uw pakketnaam toe in java build path->source

  2. Verplaats je package/classnaar de map src

Ik heb hetzelfde probleem en heb op deze manier beide oplossingen goed opgelost.


Antwoord 10, autoriteit 3%

Probeer dit

Klik met de rechtermuisknop op de eenheidstestklasse,

  1. Selecteer “Uitvoeren als” -> Configuratie uitvoeren
  2. Zorg in het tabblad “Test” op in het veld “Test Runner” Selecteer Drop-Down “JUNIST 4”
  3. Klik op “Toepassen”

Voer nu de test uit!


Antwoord 11

Ik heb het probleem opgelost door het bouwpad te configureren.
Klik met de rechtermuisknop op het project (of een van de submappen) – & GT; Bouw pad – & GT; Configureer Build Path. Nadat het woningvenster opent, klikt u op het tabblad ‘Bron’ en voegt u uw SRC- en TST-mappen toe.
Maar dit alleen werkte niet voor mij.
Vreemd genoeg moest ik de annotaties opnieuw proberen. (Project- & GT; schoon of opnieuw opstarten kan ook hebben gewerkt).


Antwoord 12

kwam dit probleem tegen bij het upgraden van projecten in de eclipse-versies. Voor b.v. Junits die goed lopen in Mars2.0 hebben niet op Neon uitgevoerd. Het volgende werkte voor mij.

  1. Verwijder. Setting map. Import project in Eclipse.
  2. Bron Folders verwijderen. Gebruik vervolgens de mappen opnieuw als bronmappen. E.G – Verwijder SRC / Main / Java van Build Path als bronmap. – & GT; OK – & GT; Maak deze map opnieuw als bronmap. Herhaal het voor hoofd / middelen, test / java, test / bronnen

Antwoord 13

In Eclipse-foton moet u mogelijk Junit 4 of 5 toevoegen aan het buildpad. Klik met de rechtermuisknop @test en selecteer ‘Voeg Junit 4 toe om pad te bouwen’.


Antwoord 14

De uitloopconfiguratie voor een testklasse kan voor dit probleem een ​​andere oorzaak (en oplossing) maken.

Als u gaat uitvoeren (of debug) configuraties (met CMD-3 of te klikken op de kleine vervolgkeuzeknoppen in de werkbalk) kunt u een configuratie zien die is gemaakt voor elke testklasse waarmee u hebt gewerkt. Ik vond dat een van mijn lessen die het niet zou lanceren een run-configuratie had waar het testmethode-veld op de een of andere manier onopzettelijk is bevolkt. Ik moest dat duidelijk maken om het aan het werk te krijgen. Wanneer het wordt gewist, toont het (alle methoden) in lichte tekst.

Ik voeg toe dat er vreemd genoeg – misschien iets anders aan de gang was – het leek ook niet voor mij te werken totdat ik ook het veld “Naam” opgelost, zodat het alleen de klasse-naam is zoals de andere junit-run-configuraties .


Antwoord 15

Ik gebruik @RunWith(Parameterized.class)Maar gemist om de @Parametersannotatie in de openbare statische parametersmethode toe te voegen. Na het toevoegen van de annotatie werkte het.


Antwoord 16

De beste manier om dit probleem op te lossen, is om de modifier van het openbare toegang voor uw Junit-testcase-klasnaam te plaatsen en vervolgens het scenario met de rechtermuisknop op uw Junit-testcase-klasse uit te voeren en als Junit-test wordt uitgevoerd.


Antwoord 17

De oplossing was, na het maken van een back-up van de SRC / Testmap, die het uit het bestandssysteem verwijderen en vervolgens opnieuw maken.

Dat is nadat ik de hint “verwijderen van het opbouwpad” deed en het de mappen schroeven bij het openen van het project in STS 4.


Antwoord 18

Ik had dit probleem ook met JUNIST 5.4.2. Ik gebruik Eclipse 2019-09 met Gradle 5.3.1.

Dus ik moest deze twee afhankelijkheden toevoegen aan build.gradle-bestand met de juiste configuratie voor het (Testimplementatie en testruntimeonly):

apply plugin: "java"
//enabled the Gradle’s native JUnit 5 support  
test {  
  useJUnitPlatform()  
}  
testImplementation  group: "org.junit.jupiter", name: "junit-jupiter-api", version: "${junitVer}"
testRuntimeOnly group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: "${junitVer}"

Antwoord 19

Enige tijd als er kavels zijn als testbestanden er zijn, kan de Eclipse niet mislukt om -classpath-opties voor alle Libs en pad vanwege de beperkingen van het ClassPath Paramht.
Om het los te laten gaan om

te gebruiken

Configerations -> JUnit -> Your Project Config -> ClassPath -> Check "Use Temporary Jar Options"

Het heeft in ieder geval mijn probleem opgelost.


Antwoord 20

Klik met de rechtermuisknop op Project > Eigenschappen > Java-opbouwpad > Bibliotheken >
selecteer classpath -> bibliotheek toevoegen -> Junit -> selecteer junit-versie -> eindigen -> toepassen


Antwoord 21

Soms gebeurt het wanneer je Junit-bibliotheek toevoegt aan het modulepad. Dus, verwijder het daar en voeg het toe aan het klassepad.


Antwoord 22

Klik op ‘Uitvoeren’->kies uw JUnit->in ‘Test Runner’ selecteer de JUnit-versie waarmee u wilt starten.


Antwoord 23

Geïmporteerd project in een nieuwe eclipse-werkruimte, dit loste mijn probleem op.

Other episodes