在Objective C中测试类的加载

时间:2011-11-10 12:23:05

标签: objective-c testing

我在类的+initialize方法中有一些代码,我想测试(使用简单的OCUnit)。即它的应用程序委托设置了一些用户默认值,所以我的测试看起来像这样:

  1. 检查是否缺少要设置的值;
  2. 加载课程;
  3. 检查设定值的存在和正确性;
  4. 您对我如何实现这一目标有任何暗示吗?

2 个答案:

答案 0 :(得分:0)

是的 - 你可以将你的默认初始化实现移到一个单独的函数,你可以从+[MONObject initialize]调用它。

在较低级别的套件中测试该函数,该套件不会将objc类(MONObject)加载到objc运行时。

然后你可以测试它并在单独的可执行文件中销毁它,并依赖你的应用程序级别测试套件中的那个证明。

答案 1 :(得分:0)

当您设置“用户默认值”默认值时,仅在“用户默认值”中未存储其他值时使用。因此,如果从“用户默认值”调用值,则会获得默认值,除非您在上一次运行中存储了值(请注意,您必须删除设备上的应用程序,因为“运行之间存储了”用户默认值“)。 您应该为所有“用户默认值”设置默认值,因为它仅在第一次使用时才适用。

我可能误解了你的要求,但我认为你是在默认值和默认值中混合设置值,这些值在没有设置时使用。

我也很困惑为什么要在+ initialize类方法中加载一个类,在创建任何实例之前调用它?