FBSnapshotsViewer
A macOs application that shows the failing snapshot tests from FBSnapshotTestCase because it's a pain to parse the console logs by myself.
Why FBSnapshotsViewer?
I've been using an amazing plugin to check the failing test's snapshots, but unfortunately, with Xcode 8 the plugins are not officially supported anymore, so I've decided to build an app which will work regardless Apple's decisions about Xcode and plugins ecosystem.
There are some benefits using it:
- Real-time feedback about failed snapshot test.
- Real-time feedback about recorded snapshot test.
- Clear output with reference | diff | failed image
- Split and diff mode to see exact differences
- One click to use failed image as a recorded
- Xcode and AppCode support
How it works?
The idea behind the job is quite tricky, but the overall concept is straightforward:
- The app listens for the changes in Xcode DerivedData folder;
- When the app finds new .log file generated by Xcode it starts parsing it;
- Through the parsing it extracts the generated information by iOS snapshot tests framework and shows in UI
Installation
FBSnapshotsViewer application
At the moment there is only one option to install the app:
Navigate to releases and download the latest FBSnapshotsViewer-xyz.app.zip
release.
We encourage you to turn automatic update on, so you'll be always up to date
Usage
As simple as just run the app and run tests in your app
App Code
For the AppCode support the app needs to know where is a folder with generated test logs:
Open FBSnapshotsViewer
-> Right click
-> Preferences
-> Set derived data folder path as a path like ~/Library/Caches/AppCodeXYZ
where XYZ
is an AppCode version. Usually you'll have only one such folder under the Caches
directory.
Contribution
Contributions to FBSnapshotsViewer are welcomed and encouraged! Please see the Contributing guide for more details.
License
FBSnapshotsViewer is available under the MIT license. See LICENSE for more information.