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;
附加方法
注意
欢迎任何反馈或 pull requests。如果您有任何问题,请直接联系我。
许可证
MockingUserDefaults
在 MIT 许可下发布。更多信息请参阅 LICENSE 文件。