Test your spec in README
Set you readme file absolute path.
# spec_helper.rb
require 'readme_spec'
RSpec.configure do |c|
c.readme_file_path = File.dirname(__FILE__) + '/../README.md'
end
Write spec in README.
Your awesome description. Your sample code. ```ruby class YourClass def do_something true end end your_class = YourClass.new expect(your_class.do_something).to be_true ```
Call ReadmeSpec.evaluate(binding)
in your test code.
expect { ReadmeSpec.evaluate(binding) }.not_to raise_error
Readme.evaluate evals your code in README sorrounded by ruby
. You can keep correct code in README.md
In this repository, below code is tested in spec/
.
a = 1
b = 2
expect(a + b).to be 3
If README code is wrong, you can get error message as it is.
Failure/Error: it { expect { ReadmeSpec.evaluate(binding) }.not_to raise_error }
expected no Exception, got #<RSpec::Expectations::ExpectationNotMetError:
expected #<Fixnum:3> => 1
got #<Fixnum:7> => 3
- Fork it ( https://github.com/gong023/readme_spec/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request