FreeBSD Copyright (c) 2012 Rubyworks

Homepage / Report Issue / Source Code

Build Status


Spectroscope is an RSpec-style BDD framework that runs on top of the Ruby Test, the Ruby universal test harness. It supports all of RSpec's syntax, with a few exceptions.


$ gem install spectroscope


Writing Specifications

Specifications are written as block of describe and it definitions.

Here's RSpec classic example:

describe Order do
  it "sums the prices of its line items" do
    order = Order.new
    order.add_entry(LineItem.new(:item => Item.new(
      :price => Money.new(1.11, :USD)
    order.add_entry(LineItem.new(:item => Item.new(
      :price => Money.new(2.22, :USD),
      :quantity => 2
    order.total.should eq(Money.new(5.55, :USD))

Spectroscope only handle the specification structure, it does not provide an assertions system. For that use any of a number of available libraries, such Assay-RSpec or AE. You can require these in a helper script, or in Ruby Test configuration (see below).

Running Specifications

Running specification is done with the rubytest command line utility.

$ rubytest -Ilib -rae/should spec/*_spec.rb

To make things simpler, create a .test configuration file.

require 'ae/should'

Test.run :default do |run|
  run.files << 'spec/*_spec.rb'

Then simply use:

$ rubytest


Copyright (c) 2012 Rubyworks

Spectroscope is distributable according to the terms of the FreeBSD license.

See COPYING.rdoc for details.