Hexx::Suit Documentation Status

Gem Version Build Status Dependency Status Code Climate Coverage Inline docs

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

Tools for Debugging

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).