- Testing is done with
rspec
. - It is recommended to use the
respec
convenience wrapper for additional productivity features. - The test suite contains interactive approval testing provided by RSpec Approvals.
$ respec
Some 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.sh
file, 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
).