Не удается найти символ 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: Спасибо, ребята, импорт его как статический помог. Тест аннотации требуется только в том числе

импорт орг.тесты JUnit.Тест;

3 ответов


assertEquals - это статический метод. Поскольку вы не можете использовать статические методы без их явного импорта статическим способом, вы должны использовать либо:

import org.junit.Assert;
...
Assert.assertEquals(...)

или:

import static org.junit.Assert.assertEquals;
...
assertEquals(...)

на @Test это немного другое. @Test - это заметка, как вы можете видеть по @. Аннотации импортируются как классы.

поэтому вы должны импортировать его как:

import org.junit.Test;

вообще не используйте символы на импорт, как import org.junit.*. По причинам см. почему использование wild card с инструкцией импорта Java плохо?.


Я работаю над JUnit в среде java 8, используя jUnit4.12

для меня: компилятор не смог найти метод assertEquals, даже когда я использовал
import org.junit.Assert;

поэтому я изменил
assertEquals("addb", string);
to
Assert.assertEquals("addb", string);

Итак, если вы столкнулись с проблемой относительно assertEqual не распознается, затем измените его на Assert.assertEquals(,); это должно решить вашу проблему.


в JUnit 5 имя пакета изменилось и утверждения в org.junit.jupiter.api.Assertions и предположения в 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