Не удается найти символ assertEquals
Я пытаюсь написать свои первые модульные тесты для калькулятора, но NetBeans говорит, что не может найти символ assertEquals
и аннотацию @Test
.
Должен ли я включить что-то?
Я использую NetBeans 7.3.1 и W7.
package calculator;
import org.junit.Assert.*;
public class UnitTests{
@Test
public void checkAdd(){
assertEquals(2, Calculator.rpnCalc(" 2 3 + "));
}
}
EDIT: Спасибо, ребята, импортировав его как статичный.
Требуемая тестовая аннотация должна включать только
import org.junit.Test;
Ответы
Ответ 1
assertEquals
является статическим методом. Поскольку вы не можете использовать статические методы, не импортируя их явно статическим образом, вы должны использовать либо:
import org.junit.Assert;
...
Assert.assertEquals(...)
или
import static org.junit.Assert.assertEquals;
...
assertEquals(...)
Для @Test
это немного отличается. @Test
- это аннотация, которую вы можете видеть с помощью @
. Аннотации импортируются как классы.
Итак, вы должны импортировать его так:
import org.junit.Test;
Как правило, избегайте использования подстановочных знаков для импорта, например import org.junit.*
. По причинам см. Почему использование дикой карты с выражением импорта Java плохо?.
Ответ 2
Юнит 5 Юпитер
В JUnit 5 имя пакета изменилось, и утверждения находятся по адресу org.junit.jupiter.api.Assertions
and org.junit.jupiter.api.Assumptions
адресу org.junit.jupiter.api.Assumptions
Таким образом, вы должны добавить следующий static import
:
import static org.junit.jupiter.api.Assertions.*;
Смотрите также http://junit.org/junit5/docs/current/user-guide/#writing-tests-assertions
Ответ 3
Я работаю над JUnit в среде java 8, используя jUnit4.12
для меня: компилятор не смог найти метод assertEquals, даже когда я использовал import org.junit.Assert;
Итак, я изменил assertEquals("addb", string);
Assert.assertEquals("addb", string);
Итак, если вы столкнулись с проблемой, связанной с assertEqual
не распознанной, затем измените ее на Assert.assertEquals(,);
, она должна решить вашу проблему
Ответ 4
Ошибка: (13, 6) Java: не удается найти символ символа: класс Расположение теста: класс luongvo.com.mycalculator.ExampleUnitTest
Ошибка: (13, 6) Java: не удается найти символ символа: класс Расположение теста: класс luongvo.com.mycalculator.ExampleUnitTest
Ответ 5
Вы должны добавить зависимость в файл pom.xml
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
Ответ 6
У меня была та же проблема cannot resolve symbol Assert
, я попробовал эти решения, добавив различный импорт из разных ответов.
- import org.junit.Assert;
- импортировать статический org.junit.Assert. *;
- импортировать статический org.junit.Assert.assertEquals;
- импортировать статические org.junit.jupiter.api.Assertions. *;
- import org.junit.Assert;
но решение, которое сотворило магию, заключалось в том, чтобы просто поместить junit-4.12.jar
в архитектуру app\lib
и просто построить проект, и импортировать так
import org.junit.Assert;
вы можете скачать junit-4.12.jar
с здесь