Go to file
417-72KI ca79b2fcaa Bump version to 1.2.0 2020-01-30 15:31:35 +09:00
.github/workflows Revert "Install bundle only when cache not hit" 2020-01-30 14:27:13 +09:00
DemoApp Use CocoaPods via bundler 2019-09-06 17:41:38 +09:00
MockUserDefaults.xcodeproj Move header 2020-01-30 13:51:59 +09:00
Sources/MockUserDefaults Move header 2020-01-30 13:51:59 +09:00
Tests Optimize folders for SwiftPM 2020-01-30 13:51:59 +09:00
fastlane Makefile and lane for demo app 2019-08-21 15:14:56 +09:00
scripts Add release script 2020-01-30 15:30:05 +09:00
.gitignore Add ignore files with SwiftPM 2020-01-30 13:51:59 +09:00
Gemfile Use CocoaPods via bundler 2019-09-06 17:41:38 +09:00
Gemfile.lock Bump fastlane 2020-01-30 14:12:31 +09:00
LICENSE Initial commit 2019-04-12 16:35:06 +09:00
Makefile Add release script 2020-01-30 15:30:05 +09:00
MockUserDefaults.podspec Bump version to 1.2.0 2020-01-30 15:31:35 +09:00
Package.swift Enable test 2020-01-30 13:51:59 +09:00
README.md Update README.md 2020-01-30 14:06:29 +09:00

README.md

MockUserDefaults

Build Status Version Platform GitHub release Swift4.2 Swift5 GitHub license

MockUserDefaults is a simple replacement for NSUserDefaults/UserDefaults to make test easier.

Installation

CocoaPods

pod 'MockUserDefaults', '~> 1.2'

Carthage

github "417-72KI/MockUserDefaults" ~> 1.2

SwiftPM (Swift5 only)

.package(url: "https://github.com/kylef/Commander.git", .upToNextMajor(from: "1.2.0")),

Usage

Objective-C

NSUserDefaults *userDefaults = [NSUserDefaults mockedUserDefaults];
[userDefaults setObject:@"string" forKey:@"key"];

XCTAssertEqualObjects([userDefaults objectForKey:@"key"], @"string");

Swift

let userDefaults: UserDefaults = .mocked
userDefaults.set("string", forKey: "key")

XCTAssertEqual(userDefaults.string(forKey: "key"), "string")

Demo

Dependencies

Tool

  • CocoaPods
    • Bundler
  • Carthage
    • Homebrew
  • XcodeGen
    • Mint
      • Homebrew
  • Fastlane
    • Bundler

Library

  • R.swift
  • RxSwift
  • RxDataSources
  • Nimble
  • Quick

Create project

First time

make init_demo_app

After the first time

make demo_app

Usage

  1. open MockUserDefaultsDemo.xcworkspace
  2. Build and run app (⌘+R) in iPhone / iPad Simulator
  3. Add any keys and values
  4. Run test (⌘+U) in same simulator
  5. Re-run app (⌘+R) in same simulator
  6. You can see that the app isn't affected by the test.