• Stars
    star
    223
  • Rank 178,458 (Top 4 %)
  • Language
    Swift
  • License
    MIT License
  • Created almost 8 years ago
  • Updated about 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A mac os application that shows the failing snapshot tests from FBSnapshotTestCase

FBSnapshotsViewer

Build Status codebeat badge codecov

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

Example

How it works?

The idea behind the job is quite tricky, but the overall concept is straightforward:

  1. The app listens for the changes in Xcode DerivedData folder;
  2. When the app finds new .log file generated by Xcode it starts parsing it;
  3. 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.

More Repositories

1

ADChromePullToRefresh

ADChromePullToRefresh
Swift
266
star
2

ADMozaicCollectionViewLayout

ADMozaicCollectionViewLayout is yet another UICollectionViewLayout subclass that implements "brick", "mozaic" or Pinterest style layout.
Swift
224
star
3

ADGraphView

Objective-C
209
star
4

ADPuzzleAnimation

Inspired by Fabric - Answers animation. Allows to "build" given view with pieces. Allows to "destroy" given view into pieces
Swift
124
star
5

ADTickerLabel

An objective-c UIView which provide a mechanism to show numbers with rolling effect, like in counter
Objective-C
115
star
6

UIViewController-ScrollingStatusBar

Category for UIViewController with UIScrollView to scroll statusBar along scrollView
Objective-C
94
star
7

ADDropDownMenuView

ADDropDownMenuView is an iOS navigation drop down style view
Objective-C
80
star
8

ADPopupView

ADPopupView
Objective-C
66
star
9

ADFBRequestDialogViewController

UIViewController with FBDialog to send Facebook app request inside
Objective-C
41
star
10

ADArrowButton

Flat arrow button.
Swift
22
star
11

UIScrollViewContentAccessors

Category for UIScrollView which make easier to access UIScrollView's content properties in iOS.
Objective-C
20
star
12

ADCustomTableView

Objective-C
17
star
13

danger-missed_localizable_strings

Don't let developers to forget about the app localization
Ruby
13
star
14

socket.IO-Blocks

Category on SocketIO to use block callbacks instead of delegate callbacks.
Objective-C
11
star
15

fastlane-plugin-remove-provisioning-profile

Remove provisioning profile from your local machine
Ruby
9
star
16

fastlane-plugin-download_github_release_asset

Fastlane plugin that downloads a GitHub release's asset
Ruby
2
star
17

nabokov

Move mobile localization boringness away from you πŸƒ
Ruby
2
star
18

iOS-Hackathon-Starter-Template

A boilerplate for objective-c iOS applications
Objective-C
2
star
19

ADContactsManager

Easy-to-use wrapper for both Contacts and AddressBook frameworks
Objective-C
2
star
20

jigit

Keep you JIRA issue statuses in sync with what you're doing actually
Ruby
1
star
21

CCPolygonNode

CCNode subclass to draw polygon with texture (adopt PRKit to cocos2d v3)
C++
1
star