環境
- xcode6.3
- gradle2.3
前提条件
- 対象のXcodeプロジェクトでXCTestを使ったユニットテストがGUIから実行出来る状態になっていること
スクリプト
UT実行に必要な最小限のgradleスクリプトは以下の通り。
build.gradle
buildscript {
repositories {
maven {
url('http://repository.openbakery.org/')
}
mavenCentral()
}
dependencies {
classpath group: 'org.openbakery', name: 'xcodePlugin', version: '0.10.3'
}
}
apply plugin: 'xcode'
xcodebuild {
scheme = 'Sample'
sdk = "iphonesimulator"
// destinationに何も指定しなければ、全てのシミュレータでテストが実行される。
destination {
os = '8.3'
platform = 'iOS Simulator'
name = 'iPhone 6'
}
}
上記をxcodeprojと同階層に配置し、gradle test
のコマンドを実行すると、XcodeのUnitTestが実行される。
$ gradle test
:keychainClean
:keychainCreate SKIPPED
:provisioningClean
:provisioningInstall SKIPPED
:xcodebuildConfig
Parse project file: /Users/mikesorae/Documents/Sample/Sample.xcodeproj/project.pbxproj
:test
Start unit tests
Perform unit tests for: iPhone 6/iOS Simulator/8.3
OK -[SampleTests.SampleTests testExample] - (0.000 seconds)
OK -[SampleTests.SampleTests testPerformanceExample] - (0.331 seconds)
OK -[SampleTests.SampleTests testVendor] - (0.000 seconds)
Tests finished: iPhone 6/iOS Simulator/8.3
All 3 tests were successful
Done
BUILD SUCCESSFUL