Cannot find symbol assertEquals
I was having the same problem cannot resolve symbol Assert
i have tried these solutions by adding the different import from the different answers.
- import org.junit.Assert;
- import static org.junit.Assert.*;
- import static org.junit.Assert.assertEquals;
- import static org.junit.jupiter.api.Assertions.*;
- import org.junit.Assert;
but the solution that did the magic was just place the junit-4.12.jar
in the app\lib
ditectory and just build the project, and import like this
import org.junit.Assert;
you can download the junit-4.12.jar
from here
I am working on JUnit in java 8 environment, using jUnit4.12
for me: compiler was not able to find the method assertEquals, even when I usedimport org.junit.Assert;
So I changed assertEquals("addb", string);
toAssert.assertEquals("addb", string);
So if you are facing problem regarding assertEqual
not recognized, then change it to Assert.assertEquals(,);
it should solve your problem
JUnit 5 Jupiter
In JUnit 5 the package name has changed and the Assertions are at org.junit.jupiter.api.Assertions
and Assumptions at org.junit.jupiter.api.Assumptions
So you have to add the following static import
:
import static org.junit.jupiter.api.Assertions.*;
See also http://junit.org/junit5/docs/current/user-guide/#writing-tests-assertions
assertEquals
is a static method. Since you can't use static methods without importing them explicitly in a static way, you have to use either:
import org.junit.Assert;
...
Assert.assertEquals(...)
or:
import static org.junit.Assert.assertEquals;
...
assertEquals(...)
For @Test
it's a little bit different. @Test
is an annotation as you can see by the @
. Annotations are imported like classes.
So you should import it like:
import org.junit.Test;
Generally avoid using wildcards on imports like import org.junit.*
. For reasons see Why is using a wild card with a Java import statement bad?.