可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
I'm trying to write my first unit tests for a calculator, but NetBeans says it can't find the symbol assertEquals
and annotation @Test
.
Should i include something?
I'm using NetBeans 7.3.1 and W7.
package calculator;
import org.junit.Assert.*;
public class UnitTests{
@Test
public void checkAdd(){
assertEquals(2, Calculator.rpnCalc(" 2 3 + "));
}
}
EDIT: Thanks guys, importing it as static helped.
Test annotation required only including
import org.junit.Test;
回答1:
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?.
回答2:
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
回答3:
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 used
import org.junit.Assert;
So I changed
assertEquals("addb", string);
to
Assert.assertEquals("addb", string);
So if you are facing problem regarding assertEqual
not recognized, then change it to Assert.assertEquals(,);
it should solve your problem
回答4:
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
回答5:
You have to add the dependency to pom.xml file
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
回答6:
Using IntelliJ 2019.2.4 with a start.sping.io default setup...
import static org.junit.jupiter.api.Assertions.assertEquals;
but now instead of
Assert.assertEquals(expected, actual);
use
assertEquals(expected, actual);