久々に Xcode を使ってみようと思って、その際にテスティングフレームワークの選択で Quick を使おうと思いました。
Quick(github)
https://github.com/Quick/Quick
さて、インストールと思って、どうやって導入するのか確認したところ、ローカライズされたページが用意されていました。
https://github.com/Quick/Quick/blob/master/Documentation/ja/InstallingQuick.md
インストールの手段としては、Git Submodules を使う方法、CocoaPods を使う方法、Carthage を使う方法と 3 パターン用意されていました。
ここでは、使い慣れている(?) CocoaPods を使ってインストールしようと思ったので、該当ページを確認しながら導入をしてみました。
ちなみに、環境は
- Xcode 8.2.1
- Swift 3.0.2
- CocoaPods 1.2.0
早速、書いてある通り、Podfile を作成しその中に設定を記述します。
# Podfile
use_frameworks!
def testing_pods
pod 'Quick', '~> 0.9.0'
pod 'Nimble', '3.0.0'
end
target 'MyTests' do
testing_pods
end
target 'MyUITests' do
testing_pods
end
保存して終了後、インストールコマンドを走らせ無事インストールが完了し、単純なテストを書いてみようとした所、import Quick の部分で「No such modeule ‘Quick’」のエラーが発生しました。
こういった部分が面倒だなと思い、import 文を外してビルドすると、なんとそこでもエラーが。。。
インストールに失敗したのかと思い、再度ページを見ながら慎重に行っても状況変わらず。
ビルドエラーの内容を見ても、Quick の部分でエラーになっていることは分かるのですが、ライブラリの中を変更すると CocoaPods の良い所がなくなるので、その他の方法を当たるようにしました。
探してみた所、どうも Podfile の記述方法を変えれば良いことがわかりました。
で、変更した内容が以下の通り
# Podfile
use_frameworks!
def testing_pods
# pod 'Quick', '~> 0.8.0'
# pod 'Nimble', '3.0.0'
pod 'Quick', :git => 'https://github.com/Quick/Quick.git'
pod 'Nimble', :git => 'https://github.com/Quick/Nimble.git'
end
target 'QuickSampleTests' do
inherit! :search_paths
testing_pods
end
target 'QuickSampleUITests' do
inherit! :search_paths
testing_pods
end
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '3.0' # or '3.0'
end
end
end
※ QuickSample というプロジェクト名にしています。どうやら、pod ファイルを github から取得する必要があり、更に build_settings の部分に [‘SWIFT_VERSION’] = ‘3.0’ をセットするようにしてインストールすれば、import の部分でもエラーにならず、またテストも無事動くようになりました。
なんだろう?inherit の部分や、post_install のイテレータ部分とかは、公式のインストール方法には書かれていない内容だったので、若干戸惑いましたが、なんとか出来て良かったです。
Written with StackEdit.
0 件のコメント:
コメントを投稿