MirrorDiffKit alternatives and similar libraries
Based on the "Other Testing" category.
Alternatively, view MirrorDiffKit alternatives based on common mentions on social networks and blogs.
-
Buildasaur
Automatic testing of your Pull Requests on GitHub and BitBucket using Xcode Server. Keep your team productive and safe. Get up and running in minutes. @buildasaur -
NaughtyKeyboard
The Big List of Naughty Strings is a list of strings which have a high probability of causing issues when used as user-input data. This is a keyboard to help you test your app from your iOS device. -
Mockingbird
Simplify software testing, by easily mocking any system using HTTP/HTTPS, allowing a team to test and develop against a service that is not complete or is unstable or just to reproduce planned/edge cases. -
MetovaTestKit
A collection of useful test helpers designed to ease the burden of writing tests for iOS applications. -
SnappyTestCase
iOS Simulator type agnostic snapshot testing, built on top of the FBSnapshotTestCase. -
XCTestExtensions
XCTestExtensions is a Swift extension that provides convenient assertions for writing Unit Test. -
TestKit
The easiest way to implement full BDD in your Swift iOS projects! Use plain English specs (Gherkin) to drive tests that include both UI automation and interacting with application data & state.
InfluxDB - Power Real-Time Data Analytics at Scale
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of MirrorDiffKit or a related project?
README
A tool for providing the 2 features for efficient testing:
- Output diff between 2 any types
- Default implementation of Equatable for any types
[](./Documentation/Images/XcodePreview.png)
Platform | Status |
---|---|
macOS | |
Linux |
Usage
diff<T>(between: T, and: T)
import MirrorDiffKit
// Input 2 structs or classes implements Equatable:
let a = Example(
key1: "I'm not changed",
key2: "I'm deleted"
)
let b = Example(
key1: "I'm not changed",
key2: "I'm inserted"
)
XCTAssertEqual(a, b, diff(between: a, and: b))
// XCTAssertEqual failed: ("Example(key1: "I\'m not changed", key2: "I\'m deleted")") is not equal to ("Example(key1: "I\'m not changed", key2: "I\'m inserted")") -
// struct Example {
// key1: "I'm not changed"
// - key2: "I'm deleted"
// + key2: "I'm inserted"
// }
Any =~ Any
and Any !~ Any
import MirrorDiffKit
a = NotEquatable(
key1: "I'm not changed",
key2: "I'm deleted"
)
b = NotEquatable(
key1: "I'm not changed",
key2: "I'm inserted"
)
XCTAssert(a =~ b, diff(between: a, and: b))
// XCTAssertTrue failed -
// struct NotEquatable {
// key1: "I'm not changed"
// - key2: "I'm deleted"
// + key2: "I'm inserted"
// }
Installation
Swift Package Manager
Add the following line to your Package.swift
:
.package(url: "https://github.com/Kuniwak/MirrorDiffKit.git")
Carthage
Add the following line to your Cartfile
:
github "Kuniwak/MirrorDiffKit"
CocoaPods
pod "MirrorDiffKit"
*Note that all licence references and agreements mentioned in the MirrorDiffKit README section above
are relevant to that project's source code only.