Hexx::Suit
The module collects the test/development suit to be shared among projects, along with base settings for included packages.
It also defines a set of Rake tasks.
Installation
Add this lines to your application's Gemfile:
gem "hexx-rspec", group: %w(test development)
gem "hexx-suit", group: :metrics, if RUBY_VERSION == "ruby"
Then execute:
bundle
And run the task from the application root:
hexx-suit install
You can configure all metrics separately in a corresponding yml files, that are created at config/metrics
directory. The directory also contains default STYLEGUIDE. Feel free to adapt it to your needs.
In a .travis.yml
it is recommended to exclude metrics from the build with option:
bundler_args: --without metrics
Usage
The gem adds three tasks for a development process authomation:
Test
The task runs rspec (runs no coverage controls) in a bundle environment.
rake test
This is a simple shortcut for longer syntaxes:
bundle exec rspec spec
You can also check test coverage:
rake test:coverage
Debug
The tasks runs specs wrapped to pry rescue
command.
rake debug
This is the same as:
bundle exec rescue rspec spec
Check
The task runs rspec under the test coverage control, and then calls all the code metrics, except for mutation testing.
rake check
You can use single metrics as well:
rake check:yardstick
See all tasks at:
rake -T check
All the tasks will use settings from config/metrics
folder.
Package content
The gem loads dependencies from the projects below.
Tools for Testing
- rspec v3.0+ - a Ruby test framework.
- guard-rspec - an authomatic tests launcher.
- coveralls - a tool for the test coverage control.
- mutant - a Ruby mutation testing.
Tools for Debugging
- pry - a Ruby development console and debugging tool.
- pry-rescue
- pry-stack-explorer
- pry-byebug for MRI 2.0+
- pry-debugger for MRI 1.9.3
Tools for Tasks Authomation
- rake - a Ruby command line interface (CLI).
Code Metrics
- rubocop - a Ruby static code analyzer
- metric_fu - a collection of Ruby code analyzers.
- fasterer - a static code analyzer for suboptimal code.
Documentation Tools
- yard - a Ruby documentation tool.
- inch - a documentation measurement tool.
- yardstick - a tool that verifies documentation coverage of Ruby code
Compatibility
Tested under MRI rubies 1.9.3+.
Uses RSpec 3.0+ for testing via hexx-rspec suit.
Contributing
- Read the STYLEGUIDE
- Fork the project
- Create your feature branch (
git checkout -b my-new-feature
) - Add tests for it
- Commit your changes (
git commit -am '[UPDATE] Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
License
See [MIT LICENSE](file: LICENSE).