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에 대해 어떤 메소드가 있는지, 메소드의 파라미터는 무엇을 뜻하는지 공부하겠습니다.