Add instructions for running tests [ci skip]

This commit adds instructions for running the test suite to help people
start contributing more quickly.

It also mentions standard, introduced in #1404
This commit is contained in:
Daniel Colson 2020-06-09 23:30:44 -04:00
parent 8f0c4afdf4
commit a514e4d077
1 changed files with 53 additions and 14 deletions

View File

@ -12,7 +12,7 @@ Here are some ways *you* can contribute:
* by suggesting new features * by suggesting new features
* by writing or editing documentation * by writing or editing documentation
* by writing specifications * by writing specifications
* by writing code ( **no patch is too small** : fix typos, add comments, clean up inconsistent whitespace ) * by writing code ( **no patch is too small** : fix typos, add comments, etc. )
* by refactoring code * by refactoring code
* by closing [issues][] * by closing [issues][]
* by reviewing patches * by reviewing patches
@ -23,13 +23,10 @@ Here are some ways *you* can contribute:
* We use the [GitHub issue tracker][issues] to track bugs and features. * We use the [GitHub issue tracker][issues] to track bugs and features.
* Before submitting a bug report or feature request, check to make sure it hasn't * Before submitting a bug report or feature request, check to make sure it hasn't
already been submitted. already been submitted.
* When submitting a bug report, please include a [Gist][] that includes a stack * When submitting a bug report, please include a [reproduction script] and any
trace and any details that may be necessary to reproduce the bug, including other details that may be necessary to reproduce the bug, including your gem
your gem version, Ruby version, and operating system. Ideally, a bug report version, Ruby version, and operating system.
should include a pull request with failing specs.
[gist]: https://gist.github.com/
## Cleaning up issues ## Cleaning up issues
@ -40,21 +37,63 @@ already been submitted.
We will happily reopen the issue. We will happily reopen the issue.
## Submitting a Pull Request ## Submitting a Pull Request
1. [Fork][fork] the [official repository][repo].
2. [Create a topic branch.][branch]
3. Implement your feature or bug fix.
4. Add, commit, and push your changes.
5. [Submit a pull request.][pr]
## Notes 1. [Fork][fork] the [official repository][repo].
1. [Create a topic branch.][branch]
1. Implement your feature or bug fix.
1. Add, commit, and push your changes.
1. [Submit a pull request.][pr]
### Notes
* Please add tests if you changed code. Contributions without tests won't be accepted. * Please add tests if you changed code. Contributions without tests won't be accepted.
* If you don't know how to add tests, please put in a PR and leave a comment * If you don't know how to add tests, please put in a PR and leave a comment
asking for help. We love helping! asking for help. We love helping!
* Please don't update the Gem version. * Please don't update the Gem version.
## Running the test suite
The default rake task will run the full test suite and [standard]:
```sh
bundle exec rake
```
You can also run a single group of tests (unit, spec, or feature)
```sh
bundle exec rake spec:unit
bundle exec rake spec:acceptance
bundle exec rake features
```
To run an individual rspec test, you can provide a path and line number:
```sh
bundle exec rspec spec/path/to/spec.rb:123
```
You can run tests with a specific version of rails via [appraisal]. To run
the default rake task against Rails 6, for example:
```sh
bundle exec appraisal 6.0 rake
```
## Formatting
Use [standard] to automatically format your code:
```sh
bundle exec rake standard:fix
```
[repo]: https://github.com/thoughtbot/factory_bot/tree/master [repo]: https://github.com/thoughtbot/factory_bot/tree/master
[fork]: https://help.github.com/articles/fork-a-repo/ [fork]: https://help.github.com/articles/fork-a-repo/
[branch]: https://help.github.com/articles/creating-and-deleting-branches-within-your-repository/ [branch]: https://help.github.com/articles/creating-and-deleting-branches-within-your-repository/
[pr]: https://help.github.com/articles/using-pull-requests/ [pr]: https://help.github.com/articles/using-pull-requests/
[standard]: https://github.com/testdouble/standard
[appraisal]: https://github.com/thoughtbot/appraisal
[reproduction script]: https://github.com/thoughtbot/factory_bot/blob/master/.github/REPRODUCTION_SCRIPT.rb
Inspired by https://github.com/middleman/middleman-heroku/blob/master/CONTRIBUTING.md Inspired by https://github.com/middleman/middleman-heroku/blob/master/CONTRIBUTING.md