Skip to content

scottpayne/rspec-ndjson-formatter

Repository files navigation

RSpec ndjson Formatter

A formatter to output rspec examples in ndjson format.

Each top level group will be on it's own line, and all the child groups and examples nested within it.

The driver for this gem is to work with test tools on large test suites, so we can run rspec in --dry-run mode to stream all the information we need for describing the test suites. I wrote it to work with the Test Explorer VSCode Extension, maybe it will come in useful for you too.

Installation

Add this line to your application's Gemfile:

gem 'rspec-ndjson-formatter'

And then execute:

$ bundle

Or install it yourself as:

$ gem install rspec-ndjson-formatter

Usage

Just use it like any other rspec formatter:

rspec -f NdjsonFormatter --dry-run

then pipe the output to whatever you want.

Ideally the output is flushed on each line to facilitate streaming, so just keep gobbling lines and parsing JSON until there are no more.

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/scottpayne/rspec-ndjson-formatter.

License

The gem is available as open source under the terms of the GPL V3.0 license.