SnappyTestCase alternatives and similar libraries
Based on the "Other Testing" category.
Alternatively, view SnappyTestCase alternatives based on common mentions on social networks and blogs.
-
PonyDebugger
Remote network and data debugging for your native iOS app using Chrome Developer Tools -
iOS Snapshot Test Case
Snapshot view unit tests for iOS -
ios-snapshot-test-case
Snapshot view unit tests for iOS -
Mockingjay
An elegant library for stubbing HTTP requests with ease in Swift -
OCMockito
Mockito for Objective-C: creation, verification and stubbing of mock objects -
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 -
Kakapo
🐤Dynamically Mock server behaviors and responses in Swift -
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. -
trainer
Convert xcodebuild plist and xcresult files to JUnit reports -
Cribble
Swifty tool for visual testing iPhone and iPad apps. Every pixel counts. -
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. -
MirrorDiffKit
Graduation from messy XCTAssertEqual messages. -
Mockit
A simple mocking framework for Swift, inspired by the famous http://mockito.org/ -
second_curtain
Upload failing iOS snapshot tests cases to S3 -
AcceptanceMark
Tool for generating Acceptance Tests in Xcode, inspired by Fitnesse -
MetovaTestKit
A collection of useful test helpers designed to ease the burden of writing tests for iOS applications. -
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. -
Bugfender Live
Stream the screen of an iOS device for live debugging. -
Parallel iOS Tests
Run iOS tests on multiple simulators in parallel at the same time
WorkOS - The modern identity platform for B2B SaaS
* 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 SnappyTestCase or a related project?
README
SnappyTestCase
iOS Simulator type agnostic snapshot testing, built on top of the FBSnapshotTestCase.
Why?
Snapshot testing helps to deliver views that scale correctly with a wide range of screen sizes. When it comes to view controllers, we usually want to ensure they keep visual quality on a various set of existing devices, in each supported orientation. Test suite could be run on numerous variants of iOS Simulators. However, this could be a really time-consuming task, for sure not acceptable during a development process. SnappyTestCase tackles this issue by combining test with a set of device definitions (each one including screen size, scale, and orientation) to validate with, ignoring real device simulator context information.
Features
- Simulator type insensitive snapshot testing => restart free, quick various device testing
- Handy definitions of iOS devices to test with - both iPhone and iPad, with chainable filtering API
- Forcing simulator to adopt
scale
andorientation
according to test device definition - Adding device type and orientation to reference file names
- You can resize one and validate snapshot of another view (for example, you can resize whole window with
UITabBarController
and validate snapshot of its tab bar only) - Optional closure executed just before verifying view
Getting Started
Validating view controller on all existing iPhones, with portrait orientation (default):
func testAllDevices() {
let window = UIWindow()
window.makeKeyAndVisible()
window.rootViewController = ExampleViewController(nibName: nil, bundle: nil)
verifyViewSnaps(DeviceRack.iPhone.all, view: window)
}
For more examples of usage check out SnappyDemo
project.
Defining device set cheat sheet
Expression | Device set description | Snapshot count |
---|---|---|
DeviceRack.iPhone.all.landscape |
All iPhones, in landscape orientation | 4 |
DeviceRack.iPhone.all.portrait.uniqueWidths |
Set of iPhones covering all possible screen widths in portrait orientation | 3 |
DeviceRack.iPad.retina.landscape |
Retina 9.7" / 7.9" iPad, landscape | 1 |
Installation using CocoaPods
Add following line to your test target pods list in Podfile
:
pod 'SnappyTestCase'
License
SnappyTestCase
is distributed under the Apache 2.0 license.
Feedback
We love receiving feedback and we encourage you to contact us and share your thoughts either via e-mail [email protected] or Twitter by mentioning @tooploox.
*Note that all licence references and agreements mentioned in the SnappyTestCase README section above
are relevant to that project's source code only.