iPhoneプロジェクトユニットテスト


総覧


XcodeのiPhone SDK 3.0以降、ユニットテスト機能が内蔵されており、開発者はユニットテストを利用してより丈夫で正確なコードを書くことができます.本明細書で使用するSDKバージョンは3.2.3です.Xcodeは2つのユニットテスト方式を提供し、それぞれ論理テストと応用テストであり、論理テストは独立した環境制限のない関数を検証するために使用され、そのため、論理テストはシミュレータや本物を起動する必要がなく、build段階で直接完成した.アプリケーションテストはあなたのiPhoneアプリケーションを検出するために使用され、インタフェース操作などのさまざまな動作をテストすることができます.
 
ロジックテスト


論理テスト手順を確立するには、次の手順に従います.
  • iPhoneプロジェクトに新しいtargetを追加し、iPhone OS-Cocoa Touch-Unit Test Bundleを選択し、どのiPhoneプロジェクトに名前を付けて直接追加します.
  • セットアップユニットテストのtargetは、現在アクティブなtarget
  • である.
  • 整理を容易にするために、新しいグループを作成してテストファイルを配置することができます.テストファイルの追加新しいファイルの追加を選択し、iPhone OS-Cocoa Touch Class-Objective-C test case classを選択します.後続のネーミングでは、ユニットテストのtargetに追加することに特に注意し、1つだけチェックできます.
  • 新規作成後、テストファイルを以下の形式に変更します:
  • //  
    #import <SenTestingKit/SenTestingKit.h>
    #import <UIKit/UIKit.h>
    
    @interface testfirst : SenTestCase 
    {
     
    }
     
    - (void)testFirst;
    @end
     
    //  
    @implementation testfirst 
    int get(int i)
    {
        return i;
    }
    
    - (void)testFirst
    {
        STAssertTrue(get(0), @"Must Fail");
    }
     
    @end
    
     
    注意SenTestingKitのframeworkをインポートする必要があります.このframeworkはリストにありません.追加するときはパスを指定する必要があります.本機では/Developer/Library/Frameworks/SenTestingKitです.framework
    論理テスト手順:
  • buildを選択し、エラーがなければコンパイルに成功し、エラーがあればXcodeコンパイルに失敗し、エラーを指摘します.
  • テストの関数署名は(void)testXXXでなければならない.