Testing Ruby and Rails Code and Functionality

RubyMine supports unit and behavior driven testing for both Ruby and Ruby on Rails code, providing you complete range of features that streamline the process of creating, running and examining the test results.

RubyMine provides support for RSpec, Cucumber, Shoulda, Test::Unit and Test/Spec frameworks, offering livetemplates for RSpec, smart code completion for RSpec, Shoulda and Test/Spec DSL and advanced editing facilities for Cucumber scenarios.

RSpec and Test::Unit

  • File templates for creating Test::Unit and Test/Spec tests
  • Intention actions for quick creating of tests either from the console or editor
  • Smart RSpec code insight
  • Support for mocking frameworks
  • Spork DRb server support.
  • Navigation between code and tests in Rails applications
  • Action for quick launching of tests for a specified method, class, BDD example, etc.
Create tests from console

Built-in test runner, fully integrated with the IDE, capable of executing tests via Rake tasks and supplying on-the-fly statistics on currently running tests.

Test statistics

  • Dedicated view for tests, with details panel for viewing a selected test output
  • Quick navigation to a line of code where tests have failed


For fast and productive functional testing with Cucumber framework RubyMine provides:

  • Syntax highlighting for .feature files
  • Cucumber keywords completion
  • Scenario steps completion from step definitions
  • Checking scenario steps against step definitions
  • Quick 'Go to step definition' navigation (Ctrl+B⌘B)
  • Create step definition from usage via quick-fix
  • GUI Test Runner for Cucumber scenarios
  • Run Configurations for fine-tuned execution, e.g. by tags

Cucumber: keywords completion
Cucumber: smart steps completion

Cucumber: view step definition

  1. 1
  2. 2
  3. 3


Full support for testing with Shoulda framework provides the following abilities:

  • Smart autocompletion & resolve in context/should closures
  • Ability to run tests using Test::Unit or Rake run configurations
    • run a single should example (except Shoulda Macros)
    • run test class
    • run all tests in a folder

to the top