Старый метод (JUnit 3) должен был отметить тестовые классы путем расширения junit.framework.TestCase
. Это наследовалось junit.framework.Assert
само, и Ваш тестовый класс получил способность назвать утверждать методы этим путем.
Начиная с версии 4 JUnit, использование платформы Annotations
для маркировки тестов. Таким образом, Вы больше не должны расширяться TestCase
. Но это означает, утверждать методы не доступны. Но можно сделать статический импорт нового Assert
класс. Вот почему все утверждать методы в новом классе являются статическими методами. Таким образом, можно импортировать его этот путь:
import static org.junit.Assert.*;
После этого статического импорта, можно использовать это методы без префикса.
В модернизации они также переместились в новый пакет org.junit
, который следует лучше нормальным соглашениям для именования пакета.
JUnit 3. X: junit.framework.Assert
JUnit 4. X: org.junit.Assert
Предпочитают новейший, особенно при выполнении JDK5 и выше с поддержкой аннотации.
Я полагаю, что они осуществляют рефакторинг от junit.framework
до org.junit
, и junit.framework.Assert
сохраняется для назад совместимости.
Я провел примерное сравнение исходного кода, и серьезных изменений нет. В org.junit.Assert
было добавлено много комментариев и произведен некоторый рефакторинг. Единственное изменение - это сравнение с Arrays
. Есть некоторые чистки кода, но там (imho) нет функциональных изменений .
Фактически, функциональное изменение: org.junit.Assert
будет жаловаться, если вы используете двухаргументный assertEquals ()
с ] float
или double
, а junit.framework.Assert
автоматически автоматизирует его.