Skip to content

enkessler/cuke_slicer

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
bin
 
 
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Basic stuff: Gem Version Project License Downloads

User stuff: Yard Docs

Developer stuff: Build Status Coverage Status Maintainability Inline docs


CukeSlicer

The cuke_slicer gem provides an easy and programmatic way to divide a Cucumber test suite into granular test cases that can then be dealt with on an individual basis. Often this means handing them off to a distributed testing system in order to parallelize test execution.

Installation

Add this line to your application's Gemfile:

gem 'cuke_slicer'

And then execute:

$ bundle

Or install it yourself as:

$ gem install cuke_slicer

Usage

require 'cuke_slicer'


# Choose which part of your test suite that you want to slice up
test_directory = 'path/to/your_test_directory'

# Choose your slicing filters
filters = {excluded_tags: ['@tag1','@tag2'],
           included_tags: '@tag3',
           excluded_paths: 'foo',
           included_paths: [/test_directory/]}

# Use the slicer to find all tests matching those filters
found_tests = CukeSlicer::Slicer.new.slice(test_directory, filters, :file_line)


# Arrange the sliced pieces to suit your particular needs. In this case, we will dump them
# into a file that Cucumber can consume.

File.open('tests_to_run.txt', 'w') { |file| file.puts found_tests }

system('cucumber @tests_to_run.txt')

Development and Contributing

See CONTRIBUTING.md

License

The gem is available as open source under the terms of the MIT License.

About

A tool to slice up your Cucumber test suite into small, easy to parallelize pieces.

Resources

License

Stars

Watchers

Forks

Packages

No packages published