Tag: Xcode4/UnitTest

目次

参考情報

SenTestKit

  • Xcode4組み込みのテストキット。
  • ロジックテストとアプリケーションテストに分けられる。
  • デフォルトで作られるのはアプリケーションテスト。ドキュメントにはロジックテストはシミュレータ上でしか動かないとあるけど、アプリケーションテストもシミュレータ上で動いている。ログにAll testsとでているならアプリケーションテスト?

Tips

文字列の比較はSTAssertEqualObjectsで

  • STAssertEqualsじゃなく、STAssertEqualObjectsを使う。
    STAssertEqualObjects(@"2010/11/12 00:00:00", actual, @"compare 1");

テストデータをテキストファイルから読み込む

  • How to read a json file from unit test bundle in ios « The Agile Warriorが参考になる。[NSBundle bundleForClass:[self class]]がポイント。
  • テスト用のjsonファイルjob.jsonがUnitTestsに存在し、テスト中に読み込みたい場合以下のようなヘルパーを用意しておく(参考URLではJSONデータを返しているが、以下ではNSString*としてそのまま返している)。
    + (NSString*)stringFromJSONFileNamed:(NSString *)fileName
    {
        //    NSString *resource = [[NSBundle mainBundle] pathForResource:fileName ofType:@"json"];
        
        NSBundle *bundle = [NSBundle bundleForClass:[self class]];
        NSString *resource = [bundle pathForResource:fileName ofType:@"json"];
        NSError *error;
        return [NSString stringWithContentsOfFile:resource encoding:NSUTF8StringEncoding error:&error];
    
  • テストメソッドでは以下のようにして呼び出す
    - (void)testExample
    {
        NSString* str = [TestingHelper stringFromJSONFileNamed:@"job"];
        NSLog(@"str=%@", str);
        //以下strを用いてテスト。
    }
    

特定のテストだけ実行したい

  • Edit Scheme→Testsで選択できる。

トラブルシューティング

boolの比較でこける

リンクエラー発生


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-04-13 (水) 16:47:22