【发布时间】:2011-01-26 09:31:54
【问题描述】:
我正在 GHUnit 测试框架中编写单元测试。我在我的应用程序委托中定义了一个 NSMutableDictionary detailsDict。
在我的应用程序委托中,我设置了一些值并保存它。 它在应用程序中运行良好,但是当我尝试在单元测试中调用一个方法来设置它的值时,我无法设置任何值并且字典仍然为空。
在测试用例中,我分配初始化我的 appDelegate。消息来自该对象的方法,它设置了一些键,但是当我检查它的值时它仍然是空的。
关于单元测试有什么我不知道的或者我缺少什么......?
任何答案指针将不胜感激。
编辑:我明白了我必须单独分配初始化 detailsDic 变量 像这样
#ifdef UNIT_TESTING
detailsDict = [[NSMutableDictionary alloc] init];
#endif
仍然对其他方法的其他答案持开放态度。
【问题讨论】:
-
您应该发布您的应用委托的代码。您不必单独启动它 - 显然发生了一些不同的事情。您在应用程序委托的哪个位置分配了
detailsDict?也许在applicationDidStart:withOptions:?如果您只是手动分配/初始化测试中的委托,这当然不会被调用。
标签: iphone objective-c cocoa unit-testing ios