cleanUrl: /programming/developer-ui-test

XCUITest를 활용해 안정적으로 돌아가는 테스트를 작성하기는 참 어렵습니다. 그러다보니 “XCUITest는 제대로 된 테스트 툴이 아니군! 다시는 쳐다보지도 말아야지”라는 생각을 하게 되는 분들도 많은 것 같습니다.

하지만 XCUITest을 기본적으로 “내 대신 눌러야 할 버튼들을 대신 눌러주는 로봇”으로 보게 된다면, 꼭 테스트를 위한 용도가 아니더라도 일상적인 업무 플로우를 훨씬 빠르게 만들어주는 훌륭한 툴이 될 수도 있습니다.

즉, 꼭 CI에서 돌아가는 테스트를 작성하기 위해서가 아니더라도,

정도의 용도로만 XCUITest를 활용해도, 훨씬 더 개발사이클을 빠르게 만들 수 있습니다. 이런 용도로만 사용하는 UITest들을 DeveloperTest라고 부르기도 합니다. (참조: DeveloperTest를 소개하는 영상)

DeveloperTest 추가하기

프로젝트에 DeveloperTest를 추가하는 방법은 UITest를 추가하는 것과 같습니다. (참고: 프로젝트에 UITest 타겟 추가하는 법)

다만 테스트가 작성되는 파일들이 .gitignore된다는 점 만 다릅니다.

// .gitignore
DeveloperTests.swift

개발중인 화면으로 이동하기

앱 개발의 일상적인 사이클은 다음과 같습니다.

  1. 코드를 수정합니다.
  2. Build & Run
  3. 수정을 확인 할 수 있는 화면으로 이동
  4. 수정 확인

이 때 마지막 단계에서 수정이 정상적으로 되었으면 개발이 종료되고, 그렇지 않으면 다시 1번 부터 사이클이 반복됩니다. 예컨대 뱅크샐러드에서 “MY탭”화면의 “송금 버튼”이 안 보이는 이슈가 있다고 해봅시다. 이 이슈를 해결하기 위해선

  1. 코드를 수정합니다.
  2. Build&Run