我使用GHUnit
。我想測試IBOutlet
的性能,如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
。
這是爲什麼?
要測試IBOutlet
的delegate
財產我想下面一行:
GHAssertNotNil(testClass.textField.delegate, @"delegate is nil.");
它失敗Reason : ((testClass.textField.delegate) != nil) should be FALSE.
有什麼不對?
編輯: 嘗試下面的代碼不起作用。
[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或故事板? –