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到您的NSMutableArray. 您只能将对象添加到NSArray,而不是原始类型。NSNumber在你的实现中尝试拳击push:

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