How to use RSpec and ZenTest in a standalone Ruby project

Tagged rspec, autotest, zentest, standalone, ruby  Languages ruby

First install the RSpec and ZenTest gem:

$ sudo gem install rspec zentest

Next create the spec folder:

$ cd project_folder
$ mkdir spec

Save the following to spec/helper.rb:

$LOAD_PATH.unshift File.dirname(__FILE__) + '/..'

require 'rubygems'
require 'spec'
#require 'spec/rake/spectask' not needed, because ZenTest supports rspec now

Now create spec/transcoder_spec.rb, and add the following test to it:

require File.dirname(__FILE__) + '/helper'
require File.dirname(__FILE__) + '/../transcoder.rb'

context "Transcoder" do
  setup do
    # Setup your stuff here
  it "should support 3gp format" do
    Transcoder.convert("me_and_you.3gp").should == true

Let's not forget the class we're testing, put this code in lib/transcoder.rb:

class Transcoder
  def initialize
  def self.convert(file)
    return true

Note that autotest automatically looks for your code in the lib folder.

Now run the test with the zentest command:


Change your files and autotest will run the test again.

Tip: Read Getting started with Autotest - Continuous Testing and Setting up autotest to use Growl on OSX for more information on how to increase your productivity.