No commit activity in last 3 years
No release in over 3 years
Fixture files for RSpec tests
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.9
~> 10.0

Runtime

~> 3.4
 Project Readme

Rspec::AsFixture

Build Status Test Coverage Code Climate

Load your rspec let variables from fixture files defined by your context.

By defining a fixtures yaml file:

- title: when the hash defines a paperback book
  book_hash:
    type: paperback
    name: Incidences
    author: Daniil Kharms

You can automatically load the fixture keys and make them available for your tests:

require 'rspec/as_fixtures'

describe Book do
  describe '::from_hash' do
    subject { Book.from_hash(book_hash) }

    context 'when the hash defines a paperback book', :as_fixture do
      its(:type) { should eq 'paperback' }
    end
  end
end

Installation

Add this line to your application's Gemfile:

$ gem install rspec-as_fixture

Usage

By defult the fixtures will be sought after in the spec/fixtures folder under a filename defined by snake casing the argument of the root describe block of the example being run.

In the example above, which would be in spec/book_spec.rb, the root block is describe Book do, therefore, the glob used to find the file is spec/fixtures/book.{yml,yaml}.

Just like lets, the inner-most context variables take precedence (see base_spec.rb for an example).

Development

After checking out the repo, run bin/setup to install dependencies. Then, 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 to create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

  1. Fork it ( https://github.com/jphastings/rspec-as_fixture/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request