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