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?
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).
Vous devez d'abord configurer Groovy SDK. Voir la capture d'écran
Description plus détaillée dans le document officiel: Configuration de SDK globaux, de projets et de modules
Dans mon cas, ce que j'ai fait pour résoudre le problème était plutôt simple.
x
puis ...Import Project
, naviguez jusqu'au fichier build.graddle
de votre projet et ouvrez-le. C'était ça et tous les reflets rouges ont disparu.