sourcecode

두 JUnit Assert 클래스의 차이점

copyscript 2022. 8. 8. 19:59
반응형

두 JUnit Assert 클래스의 차이점

JUnit 프레임워크는 2개입니다.Assert클래스(분명히 다른 패키지에 포함)와 각각의 메서드는 매우 유사한 것으로 보입니다.왜 그런지 설명해주실 분?

제가 말하는 클래스는, 및 입니다.

(JUnit 3의) 이전 방법은 테스트 클래스를 확장하여 마킹하는 것이었습니다.junit.framework.TestCase그것은 계승되었다.junit.framework.AssertAssert 메서드를 이렇게 호출할 수 있게 되었습니다.

JUnit 버전4 이후 프레임워크에서는Annotations마킹 테스트에 사용합니다.따라서 더 이상 확장하지 않아도 됩니다.TestCase단, 아사트 메서드는 사용할 수 없습니다.단, 새로운 것을 스태틱하게 Import 할 수 있습니다.Assert클래스. 그래서 새 클래스의 모든 아사트 메서드는 정적 메서드입니다.따라서 다음과 같이 Import할 수 있습니다.

import static org.junit.Assert.*;

이 스태틱 Import 후에는 프리픽스 없이 이 메서드를 사용할 수 있습니다.

재설계에서는 새로운 패키지로 이행했습니다.org.junit패키지 명명 규칙을 더 잘 따릅니다.

JUnit 3.X:junit.framework.Assert

쥬니트 4X:org.junit.Assert

특히 주석을 지원하는 JDK5 이상을 실행하는 경우 최신 버전을 선호합니다.

실제로 다음과 같은 기능이 변경되었습니다.org.junit.Assert두 개짜리 스피커를 사용하면 불평할 것입니다.assertEquals()와 함께float또는double,하는 동안에junit.framework.Assert자동 박스가 자동으로 실행됩니다.

그들이 리팩터링하고 있는 것은junit.framework로.org.junit그리고.junit.framework.Assert는 하위 호환성을 위해 유지됩니다.

대략적인 소스 코드 비교를 해봤지만 큰 변화는 없습니다.댓글도 많이 달렸고요.org.junit.Assert리팩터링도 하고유일하게 달라진 것은 와의 비교입니다.Arrays·코드 청소는 몇 가지 있습니다만, 기능적인 변경은 없습니다.

Android Studio(IntelliJ에서도 마찬가지)에서는 글로벌하게junit.framework자동 Import 프로포절에서 가져옵니다.

범위를 설정할 수 있습니다.IDE또는ProjectJUnit 3을 사용하는 프로젝트가 없는 경우 IDE 스코프를 안전하게 사용할 수 있습니다.

설정 위치:

프리퍼런스 -> 에디터 -> 일반 -> 자동 Import

여기에 이미지 설명 입력

언급URL : https://stackoverflow.com/questions/291003/differences-between-2-junit-assert-classes

반응형