Подтвердить что ты не робот

Не удается найти символ 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;

4b9b3361

Ответ 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, я попробовал эти решения, добавив различный импорт из разных ответов.

  1. import org.junit.Assert;
  2. импортировать статический org.junit.Assert. *;
  3. импортировать статический org.junit.Assert.assertEquals;
  4. импортировать статические org.junit.jupiter.api.Assertions. *;
  5. import org.junit.Assert;

но решение, которое сотворило магию, заключалось в том, чтобы просто поместить junit-4.12.jar в архитектуру app\lib и просто построить проект, и импортировать так

import org.junit.Assert;

вы можете скачать junit-4.12.jar с здесь