2

Kiwi フレームワークで ReactiveCocoa コードをテストしようとしています。

コードは次のとおりです。

-(void)bindParentModel:(FEPVehiclePropertyModel*)theParentModel{
self.parentModel = theParentModel;
[RACObserve(self, parentModel.currentName) subscribeNext:^(NSString* modelName) {
    self.avaliableVales = [FEPVehiclePropertyValuesContainer possibleVlauesForKey:modelName];
    if (![self.avaliableVales containsObject:self.currentName]){
        self.currentName = [self.avaliableVales firstObject];
    }
}];
}

ここにテストケースがあります

it(@"check vehicle model binding", ^{
    NSArray* carModel =  [FEPVehiclePropertyValuesContainer  possibleVlauesForKey:@"2013"];
    FEPVehiclePropertyModel* model = [[FEPVehiclePropertyModel alloc] init];
    FEPVehiclePropertyModel* parenModel = [[FEPVehiclePropertyModel alloc] init];
    parenModel.parentModel = nil;
    parenModel.avaliableVales = carModel;
    parenModel.currentName = [carModel lastObject];
    [model bindParentModel:parenModel];
    parenModel.currentName = [parenModel.avaliableVales firstObject];
    [[model.currentName should] equal:@"2.0L GTDI EcoBoost 6-speed manual"];
});

テスト ケースを実行するたびに、オブザーバーを追加しようとすると、RACKVOTrampoline クラスで EXC_BAD_ACCESS が発生します。

    [self.target addObserver:self forKeyPath:self.keyPath options:options context:&RACKVOWrapperContext];

助言がありますか?

製品コードは ReactiveCocoa で問題なく動作します。

4

0 に答える 0