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.