J'essaie d'écrire mes premiers tests unitaires pour une calculatrice, mais NetBeans dit qu'il ne peut pas trouver le symbole assertEquals
et l'annotation @Test
.
Dois-je inclure quelque chose?
J'utilise NetBeans 7.3.1 et W7.
package calculator;
import org.junit.Assert.*;
public class UnitTests{
@Test
public void checkAdd(){
assertEquals(2, Calculator.rpnCalc(" 2 3 + "));
}
}
EDIT: Merci les gars, l'importer comme statique a aidé. L'annotation de test n'est requise que comprenant
import org.junit.Test;
assertEquals
est une méthode statique. Puisque vous ne pouvez pas utiliser de méthodes statiques sans les importer explicitement de manière statique, vous devez utiliser soit:
import org.junit.Assert;
...
Assert.assertEquals(...)
ou:
import static org.junit.Assert.assertEquals;
...
assertEquals(...)
Pour @Test
c'est un peu différent. @Test
est une annotation comme vous pouvez le voir par le @
. Les annotations sont importées comme des classes.
Vous devez donc l'importer comme:
import org.junit.Test;
Évitez généralement d'utiliser des caractères génériques sur les importations comme import org.junit.*
. Pour des raisons, voir Pourquoi utilise-t-on un caractère générique avec une Java import import statement bad? .
Dans JUnit 5, le nom du package a changé et les assertions sont à org.junit.jupiter.api.Assertions
et hypothèses à org.junit.jupiter.api.Assumptions
Vous devez donc ajouter les éléments suivants static import
:
import static org.junit.jupiter.api.Assertions.*;
Voir aussi http://junit.org/junit5/docs/current/user-guide/#writing-tests-assertions
Je travaille sur JUnit dans un environnement Java 8, en utilisant jUnit4.12
pour moi: le compilateur n'a pas pu trouver la méthode assertEquals, même lorsque j'ai utiliséimport org.junit.Assert;
J'ai donc changéassertEquals("addb", string);
àAssert.assertEquals("addb", string);
Donc, si vous rencontrez un problème concernant assertEqual
non reconnu, changez-le en Assert.assertEquals(,);
cela devrait résoudre votre problème
Vous devez ajouter la dépendance au fichier pom.xml
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
J'avais le même problème cannot resolve symbol Assert
j'ai essayé ces solutions en ajoutant l'import différent des différentes réponses.
mais la solution qui a fait la magie était simplement de placer le junit-4.12.jar
dans le app\lib
ditectory et juste construire le projet, et importer comme ça
import org.junit.Assert;
vous pouvez télécharger le junit-4.12.jar
de ici