https://github.com/417-72ki/mockuserdefaults
Mocking UserDefaults for tests
https://github.com/417-72ki/mockuserdefaults
ios mock mocking-library objective-c swift userdefaults
Last synced: about 1 year ago
JSON representation
Mocking UserDefaults for tests
- Host: GitHub
- URL: https://github.com/417-72ki/mockuserdefaults
- Owner: 417-72KI
- License: mit
- Created: 2019-04-12T07:35:06.000Z (about 7 years ago)
- Default Branch: main
- Last Pushed: 2025-03-18T13:42:08.000Z (over 1 year ago)
- Last Synced: 2025-05-09T00:55:47.209Z (about 1 year ago)
- Topics: ios, mock, mocking-library, objective-c, swift, userdefaults
- Language: Swift
- Homepage:
- Size: 233 KB
- Stars: 6
- Watchers: 2
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MockUserDefaults
[](https://github.com/417-72KI/MockUserDefaults/actions/workflows/test.yml)
[](https://github.com/417-72KI/MockUserDefaults/releases)
[](https://swiftpackageindex.com/417-72KI/MockUserDefaults)
[](https://swiftpackageindex.com/417-72KI/MockUserDefaults)
[](http://cocoapods.org/pods/MockUserDefaults)
[](http://cocoapods.org/pods/MockUserDefaults)
[](https://raw.githubusercontent.com/417-72KI/MockUserDefaults/master/LICENSE)
`MockUserDefaults` is a simple replacement for `NSUserDefaults`/`UserDefaults` to make test easier.
## Installation
### SwiftPM (recommended)
```swift:Package.swift
.package(url: "https://github.com/417-72KI/MockUserDefaults.git", from: "2.4.0"),
```
### CocoaPods
```ruby:Podfile
pod 'MockUserDefaults'
```
## Usage
### Objective-C
```objc
NSUserDefaults *userDefaults = [NSUserDefaults mockedUserDefaults];
[userDefaults setObject:@"string" forKey:@"key"];
XCTAssertEqualObjects([userDefaults objectForKey:@"key"], @"string");
```
### Swift
```swift
let userDefaults: UserDefaults = .mock
userDefaults.set("string", forKey: "key")
XCTAssertEqual(userDefaults.string(forKey: "key"), "string")
```
## Demo
### Create project
#### First time
```
make init_demo_app
```
#### After the first time
```
make demo_app
```
### Usage
1. open `MockUserDefaultsDemo.xcworkspace`
1. Build and run app (⌘+R) in iPhone / iPad Simulator
1. Add any keys and values
1. Run test (⌘+U) in same simulator
1. Re-run app (⌘+R) in same simulator
1. You can see that the app isn't affected by the test.