如何对保存到NSUserDefaults的方法进行单元测试?

时间:2014-04-01 08:25:02

标签: objective-c unit-testing nsuserdefaults

如标题中所述,您将如何测试保存到NSUserDefaults的方法?

基本上,我有一个方法(saveUser :),它接受类User的单个参数,并将firstName和lastName保存到NSUserDefaults。 (还可以保存更多值,但这不会改变任何内容)。

我搜索了一下,建议使用一个模仿NSUserDefaults行为的类,但我显然不能使用它,因为我必须修改我的测试方法,然后撤消发布的修改。

我想出的两个解决方案是:

  • 在setUp中,保存NSUserDefaults的内容,擦除它,然后在tearDown中,重新设置保存的值。
  • 将saveUser:方法更改为saveUser:toDefaults:然后在发布时传递[NSUserDefaults standardUserDefaults]并在测试时传递模仿的UserDefaults。

您如何看待这两种解决方案,哪种解决方案更好用?为什么?

0 个答案:

没有答案