[swift] SwiftLint와 코드 테스트 자동화
소개
SwiftLint는 Swift 코드 스타일 가이드를 지키기 위한 정적 분석 도구입니다. 이 도구를 사용하면 개발자들이 일관된 스타일 가이드를 따르며 Swift 코드를 작성할 수 있습니다.
이 글에서는 SwiftLint를 사용하여 코드 품질을 향상시키고 효율적인 코드 테스트 자동화를 어떻게 수행할 수 있는지 알아보겠습니다.
SwiftLint 설정
- SwiftLint를 설치하기 위해
brew
를 사용합니다.$ brew install swiftlint
- 프로젝트 루트 디렉토리에서
.swiftlint.yml
파일을 생성합니다. 이 파일은 SwiftLint의 설정을 담당합니다.$ touch .swiftlint.yml
.swiftlint.yml
파일을 편집하여 원하는 규칙을 설정합니다. 예를 들어, 콘솔 로그 사용을 금지하는 규칙을 추가하려면 다음과 같이 작성합니다.console: excluded: - "Logger.swift"
- 메인 프로젝트의
Build Phases
탭으로 이동합니다. New Run Script Phase
버튼을 클릭하여 새로운 스크립트 단계를 추가합니다.- 다음 스크립트를 입력합니다.
if which swiftlint >/dev/null; then swiftlint else echo "SwiftLint not installed, download from https://github.com/realm/SwiftLint" fi
- 스크립트를 적용하여 빌드 시간마다 SwiftLint를 실행하도록 설정합니다.
코드 테스트 자동화
SwiftLint를 적용하여 코드 품질을 유지하는 동시에 코드 테스트 자동화를 구축할 수 있습니다. 이를 위해 젠킨스와 같은 CI/CD 도구를 사용할 수 있습니다.
젠킨스를 사용하여 코드 테스트 자동화를 설정하는 방법은 아래와 같습니다.
- 젠킨스를 설치합니다.
- 새로운 프로젝트를 생성합니다.
- 프로젝트 구성에서
소스 코드 관리
섹션 아래의 저장소 설정을 선택합니다. - 저장소 URL, 인증 정보 및 분기를 설정합니다.
빌드 유발
섹션에서GitHub hook trigger for GITScm polling
을 선택합니다.빌드
세션에서빌드
스텝을 추가합니다.- 빌드 전 스텝을 추가하고 아래 스크립트를 입력합니다.
# 프로젝트 디렉토리로 이동 cd /path/to/your/project # 프로젝트 빌드 xcodebuild build -project YourProject.xcodeproj -scheme YourScheme -sdk iphonesimulator # 프로젝트에 SwiftLint 적용 if which swiftlint >/dev/null; then swiftlint else echo "SwiftLint not installed, download from https://github.com/realm/SwiftLint" fi
- 빌드 후 스텝을 추가하고 아래 스크립트를 입력합니다.
# 테스트 실행 xcodebuild test -project YourProject.xcodeproj -scheme YourScheme -sdk iphonesimulator
이렇게 설정하면 코드 변경이 발생할 때마다 스크립트가 실행되어 SwiftLint를 적용하고 코드를 컴파일하며 테스트를 실행합니다.
결론
SwiftLint는 개발자들이 Swift 코드를 작성하고 유지하는 동안 일관된 스타일을 유지할 수 있도록 도와줍니다. 또한 CI/CD 도구와 함께 사용하여 코드 테스트 자동화를 구축할 수 있습니다.
SwiftLint를 프로젝트에 적용하고 코드 품질을 향상시켜보세요. Happy coding! 🚀
참고: