MockingUserDefaults 1.1.0

MockingUserDefaults 1.1.0

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布日期最新版本发布日期2016年7月

Eike Klenk维护。



  • 作者:
  • Eike Klenk

MockingUserDefaults 是用于单元测试的 NSUserDefaults 替代品。其目的是独立于 NSUserDefaults 中使用的系统 I/O 操作。它易于使用,并提供了测试更改 NSUserDefaults 中值的代码的可能性。

安装

替代方案

您还可以将 MockingUserDefaults 文件夹的内容直接复制到您的项目中。

使用 MockingUserDefaults

要开始使用 MockingUserDefaults,您必须导入 MockingUserDefaults.h

#import <MockingUserDefaults.h>

现在,您可以使用项目中包含的 NSUserDefaults 类方法轻松创建 mockingDefaults

NSUserDefaults *userDefaultsMock = [NSUserDefaults mockingDefaults];

在此 MockingUserDefaults 对象上,您可以对大多数 NSUserDefaults 方法进行操作。查看支持的方法列表以了解当前支持哪些方法。

示例用法

[userDefaultsMock setObject:@"testString" forKey:@"testKey"];
NSString *testString = [userDefaultsMock stringForKey:@"testKey"];

[userDefaultsMock setInteger:42 forKey:@"anotherTestKey"];
NSInteger theOneAndOnlyNumber = [userDefaultsMock integerForKey:@"anotherTestKey"];

支持 NSUserDefaults 方法

所有当前支持的 NSUserDefaults 方法

写入方法

  • (void)setObject:(id)value forKey:(NSString *)defaultName;
  • (void)setInteger:(NSInteger)value forKey:(NSString *)defaultName;
  • (void)setFloat:(float)value forKey:(NSString *)defaultName;
  • (void)setDouble:(double)value forKey:(NSString *)defaultName;
  • (void)setBool:(BOOL)value forKey:(NSString *)defaultName;
  • (void)setURL:(NSURL *)url forKey:(NSString *)defaultName NS_AVAILABLE(10_6, 4_0);

读取方法

  • (id)objectForKey:(NSString *)defaultName;
  • (NSString *)stringForKey:(NSString *)defaultName;
  • (NSArray *)arrayForKey:(NSString *)defaultName;
  • (NSDictionary *)dictionaryForKey:(NSString *)defaultName;
  • (NSData *)dataForKey:(NSString *)defaultName;
  • (NSArray *)stringArrayForKey:(NSString *)defaultName;
  • (NSInteger)integerForKey:(NSString *)defaultName;
  • (float)floatForKey:(NSString *)defaultName;
  • (double)doubleForKey:(NSString *)defaultName;
  • (BOOL)boolForKey:(NSString *)defaultName;
  • (NSURL *)URLForKey:(NSString *)defaultName NS_AVAILABLE(10_6, 4_0);

删除方法

  • (void)removeObjectForKey:(NSString *)defaultName;

附加方法

  • (BOOL)synchronize;

注意

欢迎任何反馈或 pull requests。如果您有任何问题,请直接联系我。

许可证

MockingUserDefaults 在 MIT 许可下发布。更多信息请参阅 LICENSE 文件。