No commit activity in last 3 years
No release in over 3 years
Parallel Tests speeds up your test suite, but it makes it more complicated to diagnose test pollution. This gem provides a rake task for bisecting failed Parallel Tests test suite slices.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 2.0
~> 0.1
~> 10.0
~> 3.0
 Project Readme

RSpec Knees and Toes

Ruby Version Gem Version Code Coverage Build Status License

RSpecKneesAndToes sniffs out brittle tests within your RSpec suite when using Parallel Tests.

It uses the Parallel Tests log files to identify groups of seeds and specs that failed on the previous run and runs RSpec bisect on the offending groups.

RSpec Knees and Toes: Because our first name had a trademark.

Prerequisites

This gem assumes that: you are using the following within your application:

  • You are using RSpec
  • You are using Parallel Tests (https://rubygems.org/gems/parallel_tests)
  • You have enabled random spec ordering in RSpec (e.g., you have config.order = :random in your RSpec configuration)
  • You are logging failures and parallel spec runs as detailed in the Setup section below

Installation

Add this line to your application's Gemfile:

gem 'rspec_knees_and_toes'

And then execute:

$ bundle

Setup

Add this line to your application's Rakefile:

require 'rspec_knees_and_toes/tasks'

And then add the following lines to your '.rspec' configuration file:

--format ParallelTests::RSpec::RuntimeLogger --out tmp/parallel_runtime_rspec.log
--format ParallelTests::RSpec::FailuresLogger --out tmp/failing_specs.log

Usage

To bisect a failing parallel spec run, run the following rake task:

$ rake knees_and_toes:bisect

Build

To run tests, just use rspec. To build a new knees and toes .gem file:

$ gem build rspec_knees_and_toes.gemspec

Contributing

Check out the contributing readme for information on how to contribute to the project.

License

This project is released under the Apache2 free software license. More information can be found in the LICENSE file.