A Development Tool for creating and managing system tests for Ruby on Rails >= 5.1 Applications
A development tool for creating and managing system tests in Ruby on Rails >= 5.1 applications
This gem is used only in development and is a mountable rails engine that creates JSON endpoints for a chrome extension.
Add this line to your application's Gemfile:
gem 'system_tester', group: :development
Add the system_tester db to config/database.yml
# you may want to consider a shared MySQL/Postgres database
# if you have a team that needs shared access
system_tester:
<<: *default
database: db/system_tester.sqlite3
And then install and run the migrations:
$ bundle install
$ rails system_tester:migrate
Mount the engine in config/routes.rb:
Rails.application.routes.draw do
# ... other routes
# Mount in development environment only
if Rails.env.development?
mount SystemTester::Engine => "/system_tester"
end
end
Start your dev server and you are good to go.
The chrome extension provides a Devtools tab and acts as a client to this gem.
System Tester is designed to work with a chrome extension, but could potentially be used for other applications as well.
Run rails routes
to see what endpoints are provided. The following design was set in place for the easy of reusing
testing steps:
The gem is available as open source under the terms of the MIT License.