web-dev-qa-db-fra.com

erreur de compilation compileJava: le package org.junit n'existe pas

J'essaie d'implémenter un test Junit simple à l'aide de gradle et je rencontre le problème suivant lorsque j'exécute gradle test:

:compileJava
/Users/wogsland/Projects/gradling/src/test/CalculatorTest.Java:1: error: package org.junit does not exist
import static org.junit.Assert.assertEquals;
                       ^
/Users/wogsland/Projects/gradling/src/test/CalculatorTest.Java:1: error: static import only from classes and interfaces
import static org.junit.Assert.assertEquals;
^
/Users/wogsland/Projects/gradling/src/test/CalculatorTest.Java:2: error: package org.junit does not exist
import org.junit.Test;
                ^
/Users/wogsland/Projects/gradling/src/test/CalculatorTest.Java:5: error: cannot find symbol
  @Test
   ^
  symbol:   class Test
  location: class CalculatorTest
/Users/wogsland/Projects/gradling/src/test/CalculatorTest.Java:9: error: cannot find symbol
    assertEquals(6, sum);
    ^
  symbol:   method assertEquals(int,int)
  location: class CalculatorTest
5 errors
:compileJava FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileJava'.
Compilation failed; see the compiler error output for details.

J'ai donc ce fichier build.gradle:

apply plugin: 'Java'

dependencies {
    testCompile 'junit:junit:4.12'
}

sourceSets {
  main {
    Java {
      srcDir 'src'
    }
  }
}

Et CalculatorTest.Java:

import static org.junit.Assert.assertEquals;
import org.junit.Test;

public class CalculatorTest {
  @Test
  public void evaluatesExpression() {
    Calculator calculator = new Calculator();
    int sum = calculator.evaluate("1+2+3");
    assertEquals(6, sum);
  }
}

Mais je ne comprends pas pourquoi il ne trouve pas Junit quand je l'ai inclus dans les dépendances.

13
wogsland

Donc, apparemment, je devais ajouter une dépendance compile et déclarer également repositories. Mon nouveau build.gradle qui exécute le test avec succès:

apply plugin: 'Java'

repositories { jcenter() }
dependencies {
    testCompile 'junit:junit:4.12'
    compile 'junit:junit:4.12'
}

sourceSets {
    main {
        Java {
            srcDir 'src'
        }
    }
}
28
wogsland

Essayez d'ajouter 

 repositories {
    maven { url 'http://repo1.maven.org/maven2' }

directement sous votre buildscript {dans build.gradle

0
moisty