Jenkins에서 fastlane을 사용하여 XCTest를 진행합니다.
전제 조건
현재 맡고 있는 프로젝트는 Jenkins로 자동 테스트를 하고 있습니다.
구축 설정을 보더라도 무엇을 하는지 알 수 없는 플러그인은 GUI를 복잡하게 합니다.
이번 목적은fastlane을 사용하여 가독성을 높이는 것이다.
CI 도구를 마이그레이션할 때 얻을 수 있는 이점도 있습니다.✨
fastlane으로 뭐가 편해요?
나는 테스트를 도입하는 각도에서 열거해 보았다
나는 테스트를 도입하는 각도에서 열거해 보았다
fastlane이 더 쓰기 쉬워요.
배치
팩스 설치
fastlane의 설치 기사가 많아서요.
저기 참조하세요...
항목에 넣다
단일 테스트 디렉토리cd
TestProject
├── TestProject
├── TestProject.xcodeproj
├── TestProject.xcworkspace
├── TestProjectTests ←ココ
└── TestProjectUITests
단일 테스트 디렉토리fastlane init
>> fastlane init [~/workspace/iOS/SlideMenuControllerSwift]
[✔] 🚀
[✔] Looking for iOS and Android projects in current directory...
[12:53:41]: Created new folder './fastlane'.
[12:53:41]: Detected an iOS/macOS project in the current directory: 'プロジェクトご名.xcodeproj'
[12:53:42]: -----------------------------
[12:53:42]: --- Welcome to fastlane 🚀 ---
[12:53:42]: -----------------------------
[12:53:42]: fastlane can help you with all kinds of automation for your mobile app
[12:53:42]: We recommend automating one task first, and then gradually automating more over time
[12:53:42]: What would you like to use fastlane for?
1. 📸 Automate screenshots
2. 👩✈️ Automate beta distribution to TestFlight
3. 🚀 Automate App Store distribution
4. 🛠 Manual setup - manually setup your project to automate your tasks
?
실행 시 사용 목적 문의
왜냐하면 이번에는fastlane으로 자동 테스트를 하기 때문이다4
.[12:53:54]: Continue by pressing Enter ⏎
설정이 끝난 후 Enter 를 누르면 몇 번 말하므로 Enter 를 누릅니다.
그리고fastlane 폴더를 생성합니다. 그 중에서 생성Appfile
과Fastfile
.Appfileは
응용 프로그램 발표 자동화 등 처리 파일.이번에는 무시하거나 삭제할 수 있다.TestProjectTests
└── fastlane
├── Appfile
└── Fastfile
scan 설정
scan
테스트를 쉽게 수행할 수 있는 명령
https://docs.fastlane.tools/actions/scan/#scan
scan 명령을 사용하여 테스트를 수행하기 위해 Scan 설정을 수행합니다.
다음 명령을 사용하여 스크립트 파일 만들기>> fastlane scan init
그런 다음 생성fastlane/Scanfile
스캔 파일에 기본 설정을 기록합니다.
Scanfile# scanコマンドのデフォルトの設定(https://docs.fastlane.tools/actions/scan/)
# Projectの場合はproject("TestProject.xcodeproj")
workspace("TestProject.xcworkspace")
sdk("iphonesimulator")
configuration("Debug")
# シュミレータの設定
destination("platform=iOS Simulator,name=iPhone X,OS=12.4")
# ビルド時にクリーンを行う
clean(true)
# テスト結果をjunit形式で作成する
output_types("junit")
빠른 파일 설정
여기에 기록합니다lane
.방법 같은 인상.unit_test
과ui_test
의lane
.slack_url
만 추가하면 테스트 결과를 slack에 간단하게 알릴 수 있습니다.
Fastfiledefault_platform(:ios)
platform :ios do
# 毎回呼ばれる
before_all do
# pod install
cocoapods
end
desc "単体テストを実行 🚀"
lane :unit_test do
# Scanfileに書いていない部分を指定しています。
scan(scheme: "TestProjectTests", # Schemeを指定
slack_url: "SlackのWebhookURLを入れる", # Slackから取得したWebhookURLを指定
slack_message: "単体テストの結果 🚀" # Slackから送られるメッセージのタイトルを指定
)
end
desc "UIテストを実行 🚀"
lane :ui_test do
scan(scheme: "TestProjectUITests",
slack_url: "SlackのWebhookURLを入れる",
slack_message: "UIテストの結果 🚀"
)
end
end
Jenkins 구성
※ CI 환경에 CocoaPods 및 fastlane 설치
Jenkins 구축 설정에 포함
운행 케이스# fastlaneでunit_testを実行🚀
bundle exec fastlane unit_test
현재 작업을 실행할 때 테스트는fastlane에서 실행되고 결과를 Slack에 알립니다.
Slack 결과 알림
이런 느낌으로 보여요.실패했네...
총결산
젠킨스의 설정과 플러그인에 오염된 테스트용 작업이 예뻐졌어요.✨
Slack으로 테스트 결과 보고 URL을 알려주는 것이 더 편리합니다.🚀
Reference
이 문제에 관하여(Jenkins에서 fastlane을 사용하여 XCTest를 진행합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/lcr/items/db9cb9ad51dd74f7ccec
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
TestProject
├── TestProject
├── TestProject.xcodeproj
├── TestProject.xcworkspace
├── TestProjectTests ←ココ
└── TestProjectUITests
>> fastlane init [~/workspace/iOS/SlideMenuControllerSwift]
[✔] 🚀
[✔] Looking for iOS and Android projects in current directory...
[12:53:41]: Created new folder './fastlane'.
[12:53:41]: Detected an iOS/macOS project in the current directory: 'プロジェクトご名.xcodeproj'
[12:53:42]: -----------------------------
[12:53:42]: --- Welcome to fastlane 🚀 ---
[12:53:42]: -----------------------------
[12:53:42]: fastlane can help you with all kinds of automation for your mobile app
[12:53:42]: We recommend automating one task first, and then gradually automating more over time
[12:53:42]: What would you like to use fastlane for?
1. 📸 Automate screenshots
2. 👩✈️ Automate beta distribution to TestFlight
3. 🚀 Automate App Store distribution
4. 🛠 Manual setup - manually setup your project to automate your tasks
?
[12:53:54]: Continue by pressing Enter ⏎
TestProjectTests
└── fastlane
├── Appfile
└── Fastfile
>> fastlane scan init
# scanコマンドのデフォルトの設定(https://docs.fastlane.tools/actions/scan/)
# Projectの場合はproject("TestProject.xcodeproj")
workspace("TestProject.xcworkspace")
sdk("iphonesimulator")
configuration("Debug")
# シュミレータの設定
destination("platform=iOS Simulator,name=iPhone X,OS=12.4")
# ビルド時にクリーンを行う
clean(true)
# テスト結果をjunit形式で作成する
output_types("junit")
default_platform(:ios)
platform :ios do
# 毎回呼ばれる
before_all do
# pod install
cocoapods
end
desc "単体テストを実行 🚀"
lane :unit_test do
# Scanfileに書いていない部分を指定しています。
scan(scheme: "TestProjectTests", # Schemeを指定
slack_url: "SlackのWebhookURLを入れる", # Slackから取得したWebhookURLを指定
slack_message: "単体テストの結果 🚀" # Slackから送られるメッセージのタイトルを指定
)
end
desc "UIテストを実行 🚀"
lane :ui_test do
scan(scheme: "TestProjectUITests",
slack_url: "SlackのWebhookURLを入れる",
slack_message: "UIテストの結果 🚀"
)
end
end
# fastlaneでunit_testを実行🚀
bundle exec fastlane unit_test
젠킨스의 설정과 플러그인에 오염된 테스트용 작업이 예뻐졌어요.✨
Slack으로 테스트 결과 보고 URL을 알려주는 것이 더 편리합니다.🚀
Reference
이 문제에 관하여(Jenkins에서 fastlane을 사용하여 XCTest를 진행합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/lcr/items/db9cb9ad51dd74f7ccec텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)