Unit Test에 대해 알아보다가 다양하게 적용하려면 먼저 XCTest 프레임워크에서 기대 값과 결과 값을 비교할 수 있는 Test Assertion 대해서 공부의 필요성을 느껴서 애플 개발 문서를 통해 공부하려고 한다.
Apple Developer Documentation :
https://developer.apple.com/documentation/xctest
ㅡㅡㅡ
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인지 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
: 실패가 발생하는 줄. 함수가 호출되는 줄이 기본 값두 값이 같은지 다른지를 테스트한다.
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 == expression2
이 accuracy
값 내에서 같으면 True
(Numeric 버전과 FloatingPoint 버전이 존재)
XCTAssertNotEqual(expression1, expression2, accuacy, message, file, line)
: expression1 != expression2
이 accuracy
값 내에서 같으면 True
(Numeric 버전과 FloatingPoint 버전이 존재)
expression1
, expreesion2
: 비교할 수 있는 자료형의 식accuracy
: expreesion1 == expression2
일 최대 차이 값(Numeric, FloatingPoint 버전)message
, file
, line
: 위와 같음두 값을 비교해서 더 큰지 작은지를 테스트한다.
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에 대해 어떤 메소드가 있는지, 메소드의 파라미터는 무엇을 뜻하는지 공부하겠습니다.