JUnit 프레임 워크에는 2 개의 Assert
클래스 (다른 패키지로 제공)가 포함되어 있으며 각 클래스의 메소드는 매우 유사합니다. 아무도 이것이 왜 설명 할 수 있습니까?
내가 말하는 클래스는 다음 junit.framework.Assert
과 같습니다 org.junit.Assert
.
JUnit 프레임 워크에는 2 개의 Assert
클래스 (다른 패키지로 제공)가 포함되어 있으며 각 클래스의 메소드는 매우 유사합니다. 아무도 이것이 왜 설명 할 수 있습니까?
내가 말하는 클래스는 다음 junit.framework.Assert
과 같습니다 org.junit.Assert
.
답변:
JUnit 3의 이전 방법은을 확장하여 테스트 클래스를 표시하는 것이 었습니다 junit.framework.TestCase
. 그것은 상속 junit.framework.Assert
되었고 테스트 클래스는 이런 방식으로 assert 메소드를 호출하는 능력을 얻었습니다.
JUnit의 버전 4부터 프레임 워크는 Annotations
마킹 테스트에 사용 합니다. 따라서 더 이상 확장 할 필요가 없습니다 TestCase
. 그러나 이것은 어설 션 방법을 사용할 수 없다는 것을 의미합니다. 그러나 새 Assert
클래스를 정적으로 가져올 수 있습니다 . 그렇기 때문에 새 클래스의 모든 어설 션 메서드는 정적 메서드입니다. 따라서 다음과 같이 가져올 수 있습니다.
import static org.junit.Assert.*;
이 정적 가져 오기 후 접두사없이이 메소드를 사용할 수 있습니다.
재 설계시 org.junit
패키지 이름 지정에 대한 일반적인 규칙을 따르는 새로운 패키지로 이동했습니다 .
junit.framework.*
에서의 정적 가져 오기 드롭 다운에서 제외 할 수 있습니다Editor->General->Auto Import->Exclude from Import and Completion
.