[iOS] XCTest 프레임워크 - Test Assertion(1)

나는 사과·2021년 1월 21일
0

iOS

목록 보기
3/11

Unit Test에 대해 알아보다가 다양하게 적용하려면 먼저 XCTest 프레임워크에서 기대 값과 결과 값을 비교할 수 있는 Test Assertion 대해서 공부의 필요성을 느껴서 애플 개발 문서를 통해 공부하려고 한다.

Apple Developer Documentation :
https://developer.apple.com/documentation/xctest

ㅡㅡㅡ

Test Assertion

Boolean Assertion

True나 False를 생성하는 조건을 테스트한다.

  • XCTAssert(expression, message, file, line), XCTAssertTrue(expression, message, file, line) :expression == true이면 True

  • XCTAssertFasle(expression, message, file, line) : expression == false이면 True

    • expression : 테스트 할 식
    • message : 실패일 경우 출력 할 메시지(옵션)
    • file : 실패가 발생하는 파일. 함수가 호출되는 테스트 케이스의 파일이름이 기본 값
    • line : 실패가 발생하는 줄. 함수가 호출되는 줄이 기본 값

Nil and Non-Nil Assertion

테스트 조건이 nil인지 Non-nil 인지 테스트한다.

  • XCTAssertNil(expression, message, file, line) : expression == nil 이면 True

  • XCTAssertNotNil(expression, message, file, line) : expression != nil 이면 True

  • XCTUnwrap(expression, message, file, line) : expression != nil 이면 나중에 사용할 수 있게 래핑되지 않은(Unwrapping) 값을 반환

    • expression : nil과 비교할 식
    • message : 실패일 경우 출력 할 메시지(옵션)
    • file : 실패가 발생하는 파일. 함수가 호출되는 테스트 케이스의 파일이름이 기본 값
    • line : 실패가 발생하는 줄. 함수가 호출되는 줄이 기본 값

Equality and Inequality Assertions

두 값이 같은지 다른지를 테스트한다.

  • XCTAssertEqual(expression1, expression2, message, file, line) : expression1 == expression2이면 True

  • XCTAssertNotEqual(expreesion1, expression2, message, file, line) : expression1 != expression2이면 True

  • XCTAssertEqual(expression1, expression2, accuacy, message, file, line) : expression1 == expression2accuracy값 내에서 같으면 True (Numeric 버전과 FloatingPoint 버전이 존재)

  • XCTAssertNotEqual(expression1, expression2, accuacy, message, file, line) : expression1 != expression2accuracy값 내에서 같으면 True (Numeric 버전과 FloatingPoint 버전이 존재)

    • expression1, expreesion2 : 비교할 수 있는 자료형의 식
    • accuracy : expreesion1 == expression2일 최대 차이 값(Numeric, FloatingPoint 버전)
    • message, file, line : 위와 같음

Comparable Value Assertions

두 값을 비교해서 더 큰지 작은지를 테스트한다.

  • XCAssertGreaterThan(expression1, expression2, message, file, line) : expression1 > expression2이면 True

  • XCAssertGreaterThanOrEqual(expression1, expression2, message, file, line) : expression1 >= expression2이면 True

  • XCAssertLessThanOrEqual(expression1, expression2, message, file, line) : expression1 <= expression2이면 True

  • XCAssertLessThan(expression1, expression2, message, file, line) : expression1 < expression2이면 True

    • expression1, expression2 : 비교 가능한 식
    • message, file, line : 위와 같음

다음에는 남은 3가지 Test Assertion에 대해 어떤 메소드가 있는지, 메소드의 파라미터는 무엇을 뜻하는지 공부하겠습니다.

0개의 댓글