Использую GHUnit
. Я хочу проверить IBOutlet
«S свойства, такие как isHidden
, delegate
и т.д.Испытание модуля Свойства IBOutlet
Я пробовал ниже код, чтобы проверить, если myView
скрыт:
- (void)testViewDidLoad
{
// Call view on viewcontroller which will load the view if not loaded
[testClass view];
// Tests
testClass.myView.hidden = YES;
if (testClass.myView.isHidden) {
GHTestLog(@"Hidden");
}
else {
GHTestLog(@"Not Hidden");
}
}
Это всегда регистрирует Not Hidden
, в то время как раз перед протоколирования я поставил его hidden = YES
.
Почему это?
delegate
Чтобы проверить свойство в IBOutlet
Я попытался ниже линии:
GHAssertNotNil(testClass.textField.delegate, @"delegate is nil.");
Это терпит неудачу с Reason : ((testClass.textField.delegate) != nil) should be FALSE.
Что не так?
EDIT: Пробовал ниже код, который не работает.
[testClass view];
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard"
bundle:[NSBundle bundleForClass:[self class]]];
GHAssertNotNil(storyboard, nil);
// Tests
GHAssertTrue(testClass.myView.isHidden, nil); // This fails
У вас есть тест, который проверяет, что 'testClass.myView' не равен нулю? –
@FlorianMielke Вы правы. 'myView' - ноль. Но когда я назвал '[testClass view];', не следует ли его инициализировать? Или есть способ инициализации? Главное - это «IBOutlet» и, следовательно, свойство «слабый». – Geek
Вы используете XIB или раскадровку для интерфейса? –