OS3.0 の公式 UnitTest 試してみた
さくっとテスト対象プログラム
@interface HelloObject : NSObject { } - (NSString*)helloMessage:(NSString*)name; @end
#import "HelloObject.h" @implementation HelloObject - (NSString*)helloMessage:(NSString*)name { return [NSString stringWithFormat:@"Hello %@.",name]; } @end
この後、ターゲット追加で、UnitTest を追加。
名前は LogicTests でいーや
こいつをアクティブターゲットに設定する。
Tests グループ作ってテストコード隔離する。
Objective-C test case class を選択して作成。これも HelloTests でいーや。
ここで HelloTest をターゲットに指定する。
とゆーか普通のプロジェクトにこんなもん組み込んでもしょうがねえ。
今回はアプリケーションテストしないのでさくっとテスト書く。
@interface HelloTests : SenTestCase { } - (void)testHello; @end
テストの本体
#import "HelloTests.h" #import "HelloObject.h" @implementation HelloTests - (void) setUp { // Set up } - (void) tearDown { // Tear down } - (void)testHello { HelloObject* hello = [HelloObject alloc]; [hello autorelease]; STAssertTrue( [[hello helloMessage:@"Azalea"] isEqualToString:@"Hello Azalea."], @"Hello test is failed." ); } @end
これだけではまだテストできない。
まぁテスト対象のコードをバンドルに突っ込むだけだけど。
とりあえずこれでロジックテストは実行できる。
ただし「Simulator」の「OS 3.0 以上」でのみ。