Я пытаюсь JASidePanels с киви, и получил следующее сообщение об ошибке:Тестовое JASidePanels с киви
failed: 'Root side panel controller, wants to show left panel, shows left panel' [FAILED], expected subject to equal 2, got 1
Я думаю, что я должен сделал некоторые очевидные ошибки, но не мог понять, где. Может ли кто-нибудь дать мне несколько намеков? Заранее спасибо.
#import "Kiwi.h"
#import "JASidePanelController.h"
#import "UIViewController+JASidePanel.h"
SPEC_BEGIN(MSISidePanelControllerSpec)
describe(@"Root side panel controller", ^{
__block JASidePanelController *sidePanelController;
beforeEach(^{
sidePanelController = [[JASidePanelController alloc] init];
});
context(@"wants to show left panel", ^{
beforeEach(^{
[sidePanelController showLeftPanelAnimated:YES];
});
it(@"shows left panel", ^{
[[theValue(sidePanelController.state) should] equal:theValue(JASidePanelLeftVisible)];
});
});
});
SPEC_END
Спасибо @esker, не могли бы вы взглянуть на обновленный код? Получение такой же ошибки. – ThinkChris
Обновленный код выглядит хорошо, это правильный способ использования Kiwi. Проблема может быть связана с отображением левой панели с анимированным = YES. Возможно, когда animated = YES, 'sitePanelController.state' не сразу устанавливается на' JASidePanelLeftVisible', но только делает это асинхронно после завершения анимации? Вы можете попробовать две вещи: попробуйте 'showLeftPanelAnimated: NO', но оставим это ожидание в блоке' it'. Или оставьте animated = YES и измените ожидание на '[[expectFutureValue (theValue (sidePanelController.state)) shouldEventually] equal: ...]'. –