- Testing is done with
rspec. - It is recommended to use the
respecconvenience wrapper for additional productivity features. - The test suite contains interactive approval testing provided by RSpec Approvals.
$ respecSome specs have tags for convenience:
:slow- slow specs that may be skipped when running a smoke test:stable- specs of features that rarely change:noci- specs that are disabled in CI
# smoke test; run only specs that are not :slow and not :stable
$ respec tagged ~stable ~slow
# test examples only
$ respec only examples
# test a specific example only
$ EXAMPLE=whitelist respec only examples
# test only specs that changed recently, and repeat on change
$ respec refactor # or respec r- Running the tests will regenerate all examples.
- The generated example executables are .gitignored.
- Each example contains a
test.shfile, which callsbashly generate(withoutbundle exec) before proceeding with the test. For this reason, you might need to install the local gem before running tests, you can do so by runningrun gem build --install).