Micronaut

DESCRIPTION:

Micronaut is a light-weight BDD test framework.

FEATURES:

  • API compatible with RSpec (of course)

  • Slim and light, designed to be readable, compact, and fast. Just over ~1600 LOC in /lib at last count.

  • Each example has its own metadata, and you can add filters or modules to run/disable/enhance examples based on that metadata at run time

  • A Real-world example of the power the metadata gives you:

  • "Focused examples". Never drop out of Autotest again - just focus on the example(s) and ignore the rest:

    Micronaut.configure do |c| # in your example_helper
      c.filter_run :focused => true
    end 
    
    describe Foo do
        it "this example will run", :focused => true do
        end
    
        # equivalent to:
        focused "so will this one (this is an alias for :focused => true)" do
        end
    
        it "this example will not run, until the focused ones are removed" do
        end
    end
    
  • Add your own metadata options and customize Micronaut to your hearts content (pending specs are implemented as ':pending => true' metadata, for example)

  • Designed to be formatter compatible with RSpec (though this needs some real-world testing)

  • Rake task for simple setup

require 'rubygems' require 'micronaut/rake_task'

desc "Run all micronaut examples" Micronaut::RakeTask.new :examples do |t| t.pattern = "examples/*/_example.rb" end

desc "Run all micronaut examples using rcov" Micronaut::RakeTask.new :coverage do |t| t.pattern = "examples/*/_example.rb" t.rcov = true t.rcov_opts = "--exclude \"examples/,gems/,db/,/Library/Ruby/,config/*\" --text-summary --sort coverage --no-validator-links" end

REQUIREMENTS:

  • Ruby 1.8.6+

CREDITS:

  • Mini/Unit for the great ideas and runner
  • RSpec for the great ideas, matchers, expectations and formatter ideas
  • Matchers are licensed under the MIT license, per RSpec (see RSPEC-LICENSE)