[Java] Junit - AssertThat

개발자·2021년 3월 17일
0

Java

목록 보기
1/8
post-thumbnail

✍️ AssertThat

Junit에서 AssertThat을 활용해 간단히 값을 비교할 수 있다.

선언 형태

assertThat(T actual, Matcher<? super T> matcher) 

Junit 기본 지원 매쳐

  • allOf : 내부에 선언된 모든 매쳐가 정상일 경우 통과한다.

  • anyOf : 내부에 선언된 매쳐중 하나 이상 통과할 경우 통과한다.

  • bothboth
    A and B 형식으로 matcher를 사용할 수 있게 해 준다.
    A, B 매쳐 둘다 통과할 경우 테스트가 성공한다.

  • eithereither
    A or B 형식으로 matcher를 사용할 수 있게 해 준다.
    A, B 매쳐 둘중 하나가 성공할 경우 테스트가 성공한다.

  • describedAs : 매쳐내부의 메시지를 변경할 수 있다.

  • everyItem : 배열이나 리스트를 순회하며 매쳐가 실행된다.

  • is
    is는 두가지 용도로 사용할 수 있다.
    A is B와 같이 비교값이 서로 같은지 여부를 확인할 경우
    is가 있음으로써 쉽게 읽혀지는 테스트 코드로 변경하여 준다.

  • isA
    비교되는 값이 특정 클래스일 경우 테스트가 통과된다.
    is(instanceOf(SomeClass.class))와 동일하다.

  • anything : 항상 true를 반환하는 매쳐

  • hasItem : 배열에서 매쳐가 통과하는 값이 하나 이상이 있는지 여부를 검사한다.

  • hasItems : 배열에서 매쳐리스트에 선언된 값들 모두가 하나 이상 있는지 여부를 검사한다.

  • equalTo : 두 값이 같은지 여부를 체크한다. is와 동일하게 사용할 수 있다.

  • any
    비교값이 매쳐의 타입과 동일한지 여부를 체크한다.
    instanceOf와는 다르게 매쳐의 값은 앞서 비교값의 타입의 자식만 비교할 수 있다.

  • instanceOf
    비교값이 매쳐의 타입과 동일한지 여부를 체크한다.
    any와는 다르게 매쳐의 값은 비교값과 연관없는 경우에도 사용할 수 있다.

  • not
    is와 동일하게 두가지 경우로 사용할 수 있다.
    내부에 매쳐를 선언할 경우 내부 매쳐의결과를 뒤집는다.
    not뒤에 값이 나올 경우, 같지 않을 경우 테스트가 통과한다.

  • nullValue : 비교값이 null일경우 테스트가 통과한다.

  • notNullValue : 비교값이 null이 아닐경우 테스트가 통과한다.

  • sameInstance
    비교 매쳐의 값과 같은 인스턴스일 경우 테스트가 통과한다.
    theInstance 와 동일

  • theInstance
    비교매쳐의 값과 같은 인스턴스일 경우 테스트가 통과한다.
    sameInstance 와 동일

  • containsString : 특정 문자열이 있는지를 검사한다.

  • startsWith : 특정 문자열로 시작하는지를 검사한다.

  • endsWith : 특정 문자열로 종료되는지를 검사한다.

profile
log.info("공부 기록 블로9")

0개의 댓글