連載
» 2014年04月04日 18時00分 UPDATE

iOSアプリ開発でもCI/継続的デリバリしようぜ(2):Kiwi+CocoaPodsで始めるiOSアプリの振る舞いテスト入門 (1/4)

現代の開発現場において欠かせないCI/継続的デリバリを、iOSアプリ開発に適用するためのツールやノウハウを解説する連載。今回は、iOSアプリの機能の振る舞いをテストするテスティングフレームワークの特長とインストールの仕方、主な使い方を解説します。

[諏訪悠紀,アンダースコア]

 前回の「iOSアプリ開発でCI/継続的デリバリ環境を始めるための4種の神器」では、CI/継続的デリバリ環境を構築するために必要なツール・サービスを紹介しました。

 今回はiOSアプリのためのテスティングフレームワークの1つである「Kiwi(キウィ)」を使った振る舞いテストの書き方について解説します。

振る舞いをテストするテスティングフレームワーク「Kiwi」とは

 KiwiはiOSアプリケーションの機能の振る舞いをテストすることを目的としたテスティングフレームワークです。次のような特長があります。

RSpec風に記述できる

 Kiwiでは、Rubyの「RSpec」(xSpec)風にテストコードを記述します。自然言語に近く可読性が高いので、テストコードをそのまま要求仕様の確認に使えます。また、逆に要求仕様からテストコードに起こす場合もスムーズに進められます。

SenTesting/XCTestと親和性が高い

 Kiwiは内部でSenTesting/XCTestを使用しています。そのため、Xcodeのテスト機能を利用できます。

 例えば[Command]+[U]キーのショートカットを使ってテストを容易に実行できます。また、Xcode 5から「テストナビゲーター」というテストを実行するための機能が追加されました。この機能を使うと、成功/失敗したテストケースにすぐにアクセスできます。

CocoaPodsでKiwiを使う準備

 それではiOSアプリケーションプロジェクトにKiwiを導入しましょう。本稿では、CocoaPodsを使ってKiwiをiOSアプリケーションプロジェクトに導入したいと思います。

CocoaPodsのインストール

 まず始めに、CocoaPodsをインストールしましょう。CocoaPodsはXcodeプロジェクトでOSS(オープンソースソフトウェア)を管理するためのツールです。詳細は「iOSライブラリ管理の神ツール『CocoaPods』のインストールと使い方」で解説されていますので、こちらを参照してください。

 CocoaPodsをインストールするには、ターミナルを開き下記のコマンドを実行します。

$ sudo gem install cocoapods
[!] If this is your first time install of CocoaPods, or if you are upgrading, first run: $ pod setup
Successfully installed xcodeproj-0.0.2
Successfully installed cocoapods-0.3.9
2 gems installed

 以上でCocoaPodsのインストールは完了です。

iOSアプリケーションプロジェクトの作成

 次に、テスト対象となるiOSアプリケーションプロジェクトを作成しましょう。Xcodeを起動し、新しいプロジェクトを下記の設定で作成してください。

Application Single View Application
Project Name KiwiSample
Class Prefix KWS

 Xcode 5で新しいプロジェクトを作成すると、アプリケーション本体のターゲットとテスト用のターゲットの2つのターゲットを自動で作成してくれます。

Kiwiのインストール

 次にCocoaPodsを使ってKiwiをインストールします。まずはCocoaPodsの初期化を行うため、プロジェクトのルートディレクトリで下記のコマンドを実行します。

pod init

 コマンドを実行すると「Podfile」というファイルが作成されます。PodfileはプロジェクトにインストールするOSSを定義する設定ファイルです。次にPodfileを開き、下記のように修正してください。

target "KiwiSample" do
 
end
 
target "KiwiSampleTests" do
 
  pod "Kiwi"
  pod "Kiwi/XCTest"
 
end

 Podfileの設定では、テスト用のターゲットである「KiwiSampleTests」にKiwiをインストールするようにしています。こうすることで、アプリケーション本体のプロジェクトにはKiwiはインストールされません。

 Podfileの編集が終わったら、下記のコマンドを実行してください。

pod install
ios_ci_cd2_01.jpg 図1 Kiwiのインストールの確認

 処理が完了すると、CocoaPodsでインストールしたOSSを管理するプロジェクト「Pods」と、Xcodeのワークスペースファイル「KiwiSample.xcworkspace」が作成されます。ワークスペースファイルを開くと、KiwiSampleTestsにKiwiがインストールできていることが確認できます。

 最後に、確認として簡単なテストケースを書いて実行してみましょう。KiwiSampleTestsプロジェクトに自動で作成された「KiwiSampleTest」クラスがあるので、このクラスを下記のように書き換えてください。

#import "Kiwi.h"
SPEC_BEGIN(MathSpec)
describe(@"計算のテスト", ^{
    it(@"16 + 26 は 42 であるべき", ^{
        NSUInteger a = 16;
        NSUInteger b = 26;
        [[theValue(a + b) should] equal:theValue(42)];
    });
});
SPEC_END

 それではテストを実行してみましょう。[Command]+[U]キーを入力するとテストを実行できます。次のように「Test Succeeded」と表示されればテスト成功です。

ios_ci_cd2_02.jpg 図2 テストの実行
       1|2|3|4 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。