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)