其实我觉得有点不好意思问这个,因为感觉大约为基本,你可以走了,但它已经绊倒了我好几个小时......iPhone测试:测试IBOutlets
比方说,我有一个UIViewController的实例(称为MyViewController),它只有一个IBOutlet到UITextField,并且当页面加载时,我将它设置为Enabled或不基于BOOL属性。
- (void)viewDidLoad {
[super viewDidLoad];
self.surname.enabled = self.allowTextField;
}
一切都正确连接起来,当我运行它按预期工作(主应用程序 - 我希望如此因为如果我不能得到的那部分吧,我可能不应该编写iPhone应用程序...)。
无论如何,我决定努力工作,为应用程序编写应用程序单元测试,因为这是我想变得更坚实的东西。不幸的是,我不能理解为什么以下不起作用。 。
-(void)testFieldEnabled {
MyViewController *myController = [[MyViewController alloc] initWithNibName:nil bundle:nil];
myController.allowTextField = YES;
[myController viewDidLoad];
STAssertTrue(myController.surname.enabled, @"Why is this not correct?");
}
我已经把这个例子非常简单,因为我真的不知道为什么这不工作,并相信它一定是因为在我的单元测试的理解一大败笔。上面的单元测试不应该启动MyViewController页面的实例,设置属性,运行该方法并返回true?目前它一直告诉我,姓氏textfield未启用。
感谢您的帮助和新年快乐!
非常感谢你Max - 你是一个明星。调用视图属性并没有真正解决问题(它产生了一个单独的错误),但手动调用loadView工作。非常感谢您的解释 - 我认为该视图已被自动加载,所以您所说的将所有内容置于原地。我希望你有一个神话般的2012年! – 2011-12-31 10:55:06