KIF2.0 は 自動テスト用のライブラリです. 詳しくはこちらをご覧ください. https://github.com/kif-framework/KIF また @_ishkawa さんのこちらの記事をご覧いただくと動作イメージが掴めると思います. http://blog.ishkawa.org/blog/2013/08/31/kif-next/
1. Podfileに以下を記入
pod 'AFNetworking'
target 'Acceptance Tests', :exclusive => true do
pod 'KIF', '~> 2.0'
end
exclusive => true にすると Acceptance Tests ターゲットには AFNetworkingが含まれなくなります.
2. Xcodeで新しくターゲットを追加.
ターゲット名は Acceptance Tests にする
3. pod install する
4.1. プロジェクトの設定
TARGETS > Acceptance Tests を選択 > Build Settings > Linking の Bundle Loader の項目に以下を設定 (My Appはテスト対象のアプリ名)
$(BUILT_PRODUCTS_DIR)/My App.app/My App
同じく Build Settings > Unit Testing > Test Host に以下を設定
$(BUNDLE_LOADER)
4.2. テスト実行の設定
画面左上の アプリ名の Edit Scheme... > Test を選択 し 下の + を押して Acceptance Tests を追加
これで, Build ターゲットをアプリにした状態で cmd + u でテストを実行できます.
5. テストコードを追加
このファイルを Acceptance Tests というグループができているのでその中に入れて cmd + u します.
左上のナビバーをタップして 編集画面に移行することを確認するテストです.
#import <KIF.h>
#import "KIFTestCase.h"
#import "KIFUITestActor+KNEAdditions.h"
@interface KNESignInTests : KIFTestCase
@end
@implementation KNESignInTests
- (void)beforeEach
{
}
- (void)testSuccessfulSignIn
{
[tester tapScreenAtPoint:CGPointMake(40, 40)];
[tester waitForTappableViewWithAccessibilityLabel:@"編集"];
}
@end
その他.
- KIFは 非公式のAPIを使っているので プロダクションのコードにテストコードを誤って含まないように注意して下さい.