1

尊敬する OCUnit テスターの皆様、

OCUnit テストは、'name' という名前のメソッドが含まれている場合、常にパスします。例:

#import <SenTestingKit/SenTestingKit.h>

@interface Tests : SenTestCase

@end

@implementation Tests

- (NSString *)name
{
    return @"Howard";
}

- (void)testSomeTest
{
    STFail(@"Unit tests are not implemented yet in Tests");
}

@end

合格!XCode 4で実行しています。

「名前」を別の名前に変更しても問題ありません。つまり、失敗します。「名前」がOCUnitの予約名である理由は何ですか? とにかくこれを回避するには?これは、私がテストしようとしているプロトコルの一部です。

ご意見をお寄せいただきありがとうございます -- ハワード。

4

1 に答える 1

1

SenTestCase.m には既に と呼ばれる内部メソッドがあり-nameます。

https://github.com/jy/SenTestingKit/blob/master/SenTestCase.m

デリゲート プロトコルの結果をテストしようとしていると思います。テスト フィクスチャの外部で、デリゲートを提供するテスト コードを別のオブジェクトにプルしてみてください。

于 2012-07-16T18:17:46.750 に答える