web-dev-qa-db-fra.com

Test de code Java avec Groovy sous Intellij: impossible de résoudre la classe GroovyTestCase

Je dois écrire un court test pour du code Java. J'ai utilisé CTRL + SHIFT + T pour en générer un avec IntelliJ, et sélectionné "Groovy JUnit" comme bibliothèque de test, puis écrit le test suivant:

package util
class FibonacciHeapTest extends GroovyTestCase {
    FibonacciHeap<Integer> heap

    void setUp() {
        super.setUp()
        heap = new FibonacciHeap<>()
    }

    void testAddInOrder() {
        testForItems 1..1000
    }


    private void testForItems(Range<Integer> items) {
        items.each {heap << it}
        assertEquals heap.size, items.to
        items.each {assertEquals heap.remove(), it}
    }
}

Cependant, lorsque je clique avec le bouton droit sur le scénario de test dans la fenêtre du projet, l'option "Exécuter tous les tests" que je réalise normalement avec les tests JUnit ne me parvient pas. Le compilateur renvoie l'erreur suivante: 

Information:2/4/15 8:15 PM - Compilation completed with 2 errors and 0 warnings in 2 sec
/home/patrick/IdeaProjects/hackerrank/src/test/Java/util/FibonacciHeapTest.groovy
Error:(3, 1) Groovyc: unable to resolve class util.FibonacciHeap
Error:(9, 1) Groovyc: unable to resolve class GroovyTestCase

Essayer d'importer GroovyTestCase ou FibonacciHeap manuellement provoque la même erreur. IntelliJ n’ajoute aucune instruction d’importation lorsque je laisse la saisie semi-automatique terminer les noms pour moi, comme il le ferait habituellement avec du code Java. 

Qu'est-ce que je fais mal?

10
Patrick Collins

Cela a fonctionné pour moi:

  • Fenêtre Gradle ouverte (à droite dans mon cas)
  • Cliquez sur le bouton Actualiser
  • Terminé

 screenshot

9
Bipi

J'ai rencontré un problème similaire lors de la création de classes de test dans IntelliJ. Ce problème a été résolu lors de la création d'un nouveau répertoire en dehors du dossier com.company (où j'avais la classe que je voulais tester). 

  1. Créez un nouveau répertoire pour les classes de test au même niveau que votre dossier src
  2. Faites un clic droit sur votre nouveau répertoire de test et "Marquer le répertoire comme" -> "Test Resources Root" 
  3. Créez maintenant une classe de test, qui devrait être automatiquement ajoutée à votre répertoire de test. 

 enter image description here

4
Emelie Pei

Construire -> Reconstruire le projet dans IDE lui-même (par opposition à maven, dans mon cas) l'a fait pour moi.

 enter image description here

2
Jeffrey Knight

Vous devez d'abord configurer Groovy SDK. Voir la capture d'écran

enter image description here

Description plus détaillée dans le document officiel: Configuration de SDK globaux, de projets et de modules

0
banterCZ

Dans mon cas, ce que j'ai fait pour résoudre le problème était plutôt simple.

  • Fermer IntelliJ
  • Ouvrez la page d'accueil attachée ...
  • Supprimez votre projet en cliquant sur la x puis ...
  • Cliquez sur Import Project, naviguez jusqu'au fichier build.graddle de votre projet et ouvrez-le. 

 enter image description here

C'était ça et tous les reflets rouges ont disparu. 

0
Pila