1

私は次のようにして、テスト用のキウイフレームワークに取り組んでいます

myStack.m
- (id) init {
    if (self = [super init]) {
        _data = [[NSMutableArray alloc] initWithCapacity:4];
    }
    return self;
}
- (void) push:(int)numberToPush {
    [self.data addObject:numberToPush];
}
- (int)top {
    return [[self.data lastObject] integerValue];

}
-(int)numberOfItem {
    return [self.data count];
}

そしてテストは

SPEC_BEGIN(MyStack)

describe(@"The stack", ^{
    __block MyStack    *stack;
    context(@"when created", ^{
        beforeAll(^{
            stack = [[MyStack alloc] init];
        });
        it(@"is not nil.", ^{
            [stack shouldNotBeNil];
        });


        it(@"allows me to count the item of stack", ^{
            [stack push:5];
            [[stack should] haveCountOf:1];
        });
    });
});
SPEC_END

ただし、テストで BAD_EXCESS が発生しExpectationsています。なぜこのエラーが発生するのかわかりません。ここではすべてのヘルプを歓迎します。

4

1 に答える 1

2

に を追加しようとしているようintですNSMutableArrayNSArrayプリミティブ型ではなく、 にのみオブジェクトを追加できます。NSNumberの実装で をボックス化してみてくださいpush::

- (void) push:(int)numberToPush {
    [self.data addObject:@(numberToPush)];
}
于 2013-08-14T04:22:32.137 に答える