Roundabout

A Rails Engine that generates a page transition diagram for your Rails app from the system tests and shows it on the browser.

Example

Requirements

  • Ruby 2.x

  • Rails 3 or newer

  • RSpec / Minitest / TestUnit

  • Capybara

Installation

Bundle this gem to your Rails app's development and test env:

  gem 'roundabout', group: [:development, :test]

Usage

Run the whole tests with ROUNDABOUT envvar (I suppose parallel spec is not supported ATM):

% ROUNDABOUT=1 rails test:system

All page transitions via capybara will be recorded, then woven into a diagram.

To see the generated diagram, just browse at http://localhost:3000/roundabout. You can also download a png image version and a PDF version from that page.

Example

The image shown at the very top of this document was generated from Redmine project's codebase.

Each box shows Rails controller/action name, and the arrows between them means as follows:

Dark: Redirect Red: Form Yellow: Link

Contributing

Send me a PR with a patch.

TODO

  • More tests (with multiple kinds of testing frameworks, capybara drivers, Rails versions, etc.)

  • Configure CI

  • Parallel tests support

  • etcetcetc.

Team