Skip to content
Adaptable API integration test suite that supports API blueprint and RAML files
Ruby Gherkin API Blueprint RAML
Branch: master
Clone or download
David bump version
Latest commit 2d46649 Apr 18, 2016
Type Name Latest commit message Commit time
Failed to load latest commit information.
features clean Apr 17, 2016
lib bump version Apr 18, 2016
spec use new shared method in blueprint adapter Apr 17, 2016
.gitignore ignore Gemfile.lock Oct 15, 2014
.rspec SpecApib version 0.0.1 is here Sep 9, 2014
.travis.yml use fixed version of bunlder Mar 22, 2015
Gemfile add raml to gem dependencies May 1, 2015
LICENSE Initial commit Aug 27, 2014 Update Jul 17, 2015
Rakefile Improve Rakefile default task Dec 16, 2014
vigia.gemspec use byebug instead of debugger Jan 8, 2016


Build Status Code Climate Test Coverage

What is it?

Vigia logo

Vigia is a gem to perform integration tests on an API server using RSpec and a compatible adapter. The adapter creates the structure of the test (groups and context) and sets up all the variables (See Context variables) used to perform the http request.

These results and expectations objects can be used to run examples that will compare the expected value with the server response value. Vigia allows to use a variety of different ways to execute these comparisons (See Vigia Examples and Custom Shared Examples)


Include Vigia as gem inside :test group

group :test do
  gem 'vigia'

Run bundle install

$ bundle install

Now, Vigia can be used inside your application.

Getting started

This example shows an easy way to start a rails server and perform you apibs test.

# Your lib/tasks/vigia.rake
namespace :spec do
  desc 'Run Vigia tests'
  task :vigia => :environment do

    # start rails server by the easiest way
    system("bundle exec rails s -e #{ Rails.env } -d")
    # give some time to the server
    sleep 10

    Vigia.configure do |config|
      config.source_file = "#{ Rails.root }/apibs/my_api.apib"        = 'http://localhost:3000'



Currently, Vigia supports API Blueprint and RAML definition files. By default, Vigia uses the Blueprint Adapter. To configure Vigia to use the RAML adapter, just pass the adapter class to the config block

Vigia.configure do |config|
  config.adapter     = Vigia::Adapters::Raml
  config.source_file = 'my_api_definition.raml'
  # extra config

(See Adapters) to see more information about custom adapters.


  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request



You can’t perform that action at this time.