Insanity
MockSwift
Our great sponsors
Insanity | MockSwift | |
---|---|---|
12 | 1 | |
7,513 | 87 | |
- | - | |
9.1 | 0.0 | |
11 days ago | over 1 year ago | |
Swift | Swift | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Insanity
-
Insanity VS SpeziTemplateApplication - a user suggested alternative
2 projects | 18 Nov 2023
-
Create, Push, and Present Any View Controller in 1 LOC using Metaprogramming
Now that we have designed our APIs we can generate the code. For each view controller in our project, we are going to generate 3 functions: create, push, and present. We are going to generate code with Sourcery — a tool developed by Krzysztof Zabłocki.
-
Adding Union to Swift with Metaprogramming
The most popular tool for generating code in Swift is Sourcery — a tool developed by Krzysztof Zabłocki. It works like this: you provide a template file, Sourcery parses your source code and generates code based on your template and the parsed source code. Sourcery can be used as a standalone executable or embedded right into the Xcode building process as a Run Script phase. It automatically regenerates code on any changes in your template file or in the project source files.
-
Writing unit tests with mocked dependencies in Swift
To set up MockSwift, make sure you have Sourcery and the package installed. Then, create a script called gen-mocks.sh with the following content (updating the paths if required):
-
Any ideas on how to filter out the empty and nil values from JSON object?
Probably overkill for a single DTO but I use Sourcery to provide default decoding values for nil/missing properties (among other things).
-
Dynamically building a type
You can probably do something with Sourcery.
- Any way to not have to triple define values in a public struct?
- Tips to be more productive in Xcode
-
CoreData common practice - Do you usually have a struct based data class, as the bridge between your UI layer, and the CoreData data layer?
This post has some tips on using Sourcery to help automate the creation of that bridge layer.
-
Enums with associated values can be super helpful, but are not always well know by beginners. So I made this video tutorial to explain the concept and how it helps write safer code 🙌
There is a bit of boilerplate code but it can be easily generated using tools like sourcery.
MockSwift
-
Writing unit tests with mocked dependencies in Swift
Instead of creating our own test version of a class implementing the ApiClientProtocol, we'll use a mocking package to do the heavy lifting for us. There are multiple mocking packages for Swift, but I'll be using MockSwift here. Setting it up requires some work, since it has to work around the limitations of Swift.
What are some alternatives?
Nori - Easier to apply code based style guide to storyboard.
Mocker - Mock Alamofire and URLSession requests without touching your code implementation
BuildTimeAnalyzer - Build Time Analyzer for Swift
Mockingbird - A Swifty mocking framework for Swift and Objective-C.
Kin - Sane PBXProj files
mockolo - Efficient Mock Generator for Swift
XcodesApp - The easiest way to install and switch between multiple versions of Xcode - with a mouse click.
AutoMockable - AutoMocker is a Swift framework that leverages the type system to let you easily create mocked instances of your data types.
SwiftGen - The Swift code generator for your assets, storyboards, Localizable.strings, … — Get rid of all String-based APIs!
Mockingjay - An elegant library for stubbing HTTP requests with ease in Swift
Awesome-Design-Tools - The best design tools and plugins for everything 👉
CatchingFire - Test Library for Swift's Error Handling