iOS SwiftUI Unit test

사용 언어: Swift 5
사용 버전: Xcode 15.0.1


iOS SwiftUI Unit test를 알아보겠습니다.

Unit test(유닛 테스트, 단위 테스트)는 작성한 함수의 기능이 올바르게 작동하는지 확인하기 위해 사용합니다.
일일이 앱을 실행하여 확인하기보다는 자동으로 확인하기 때문에 유지 보수 시간을 줄일 수 있습니다.


UI test도 있지만, 여기선 다루지 않겠습니다.



현재 파일 트리입니다.




이번에 테스트할 updateCurrentPage 함수입니다. Page를 업데이트하는 기능을 합니다.







테스트할 함수도 있으니 테스트 파일을 만듭시다.

프로젝트 - '+' 버튼을 눌러줍니다.







test를 검색하고, Unit Testing Bundle을 선택합니다.

여기서 다루지는 않지만, UI Testing을 하고 싶다면 UI Testing Bundle을 선택하면 됩니다.







적당한 이름을 적고 Finish를 누릅니다.







이렇게 파일이 생성됩니다.







9번째 줄처럼 @testable import로 테스트할 함수가 있는 모듈을 불러옵니다.





13번째 줄처럼 테스트할 객체를 정의합니다.

15번째 줄의 setUpWithError()는 테스트가 실행되기 전에 먼저 실행되는 부분으로 객체를 할당합니다.

20번째 줄의 tearDownWithError()는 테스트가 종료되면 실행되는 부분으로 객체를 해제합니다.








테스트할 코드로 갑니다. private를 internal로 변경하여 테스트 코드가 접근할 수 있게 만들어 줍니다.








이제, 테스트할 함수를 작성합니다.

함수의 이름은 test로 시작해야 합니다.

31번째 줄의 XCTAssertEqual는 currentPage 값이 0이라고 확신하는 걸 의미합니다.

즉, 0이 아니면 확신이 틀리기 때문에 오류가 나올 것이고, 0이 맞는다면 확신이 맞기 때문에 무사히 넘어갑니다.







class 옆에 재생을 누르면 테스트가 실행됩니다.








테스트를 모두 통과하면 이렇게 passed가 나옵니다.







한 번 틀린 걸 넣어볼게요.






이렇게 바로 오류가 나옵니다.






해당 코드는 여기서 볼 수 있습니다.





끝.


카테고리: iOS, SwiftUI



댓글

이 블로그의 인기 게시물

Python OpenCV 빈 화면 만들기

Python urllib.parse.quote()

Python bytes.fromhex()

Android AVD Ram size change

Forensics .pyc 파일 .py로 복구하기

Android Minimum touch target size

KiCad 시작하기 7 (FreeRoute 사용하기 2)

Android Notification with Full Screen

C++ OpenCV 모폴로지 침식, 팽창

KiCad 시작하기 2 (PCB 만들기)