TestingUserDefaults icon indicating copy to clipboard operation
TestingUserDefaults copied to clipboard

Simple NSUserDefaults replacement for testing purposes.

Build Status

This class is a simple NSUserDefaults replacement that can be used in tests. It does not persist any changes, so that each test can start with precisely controlled defaults environment.

NSUserDefaults *defaults = [NSUserDefaults transientDefaults];
// Write some initial values
[defaults setObject:… forKey:…];
[defaults setInteger:… forKey:…];
[testedClass setUserDefaults:defaults];
// Verify values written by the tested class
XCTAssertSomething([defaults integerForKey:…], …);

If there’s an accessor that’s not implemented (or implemented correctly), pull requests are welcome.