OCUnit在哪里存储NSUserDefaults?

ma1*_*w28 1 ocunit nsuserdefaults sentestingkit

我读了一个简单的方法来查看保存的NSUserDefaults?

我找到了应用程序的.plist文件,但是哪个是测试包的文件?

Jon*_*eid 5

如果您使用Xcode 4与OCUnit的集成,它会将测试包注入正在运行的应用程序中.因此NSUserDefaults保存在应用程序本身中.这对于单元测试来说是个问题:当您手动运行应用程序时,您的默认值可能已被测试覆盖.

而不是[NSUserDefaults standardUserDefaults]直接使用,使用依赖注入,将用户默认值作为初始化参数传递.然后你可以传入一个你可以查询的测试双.(依赖注入的替代方法是从辅助方法返回NSUserDefaults,覆盖该方法以在必要时返回测试双精度.)