Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

206 lines (140 sloc) 7.174 kB

Sublime Text 2 Ruby Tests

Overview

Running:

  • ruby unit tests (all tests from file / single test)
  • cucumber tests (feature / scenario)
  • rspec (full spec, single spec)

Maintainers:

Donate - support us!

Bitcoin: 1KBqcRsfmdh8rGV9Mx6sJmYuB6y517BZHy

PayPal: Donate

Installation

Go to your Sublime Text 2 Packages directory

  • OS X: ~/Library/Application\ Support/Sublime\ Text\ 2/Packages
  • Windows: %APPDATA%/Sublime Text 2/Packages/
  • Linux: ~/.config/sublime-text-2/Packages/

and clone the repository using the command below:

git clone https://github.com/maltize/sublime-text-2-ruby-tests.git RubyTest

Settings

'Sublime Text 2' -> 'Preferences' -> 'Package Settings' -> 'RubyTest'

Make a copy of RubyTest.sublime-settings file to ~/Library/Application\ Support/Sublime\ Text\ 2/Packages/User/ and make your changes.

Usage

  • Run single ruby test: Command-Shift-R
  • Run all ruby tests from current file: Command-Shift-T
  • Run last ruby test(s): Command-Shift-E
  • Show test panel: Command-Shift-X (when test panel visible hit esc to hide it)
  • Check RB, ERB file syntax: Alt-Shift-V
  • Switching between code and test (create a file if not found):
    • Single View: Command-.
    • Split View: Command-Ctrl-.
  • Easy file creation: Command-Shift-C Keys: 'Command' (OSX) 'Ctrl' (Linux / Windows)

    ruby_tests screenshot

Additional Features:

Below features can be enabled by editing RubyTest.sublime-settings

  • RVM / RBENV auto detect (thx to @bronson) - feature is disabled by default, but if you enable it then be sure that your settings file is configure to use bundle exec (refer to https://github.com/maltize/sublime-text-2-ruby-tests#bundler-support) "check_for_rbenv": true "check_for_rvm": true

  • Save on Run - if enabled then all files will be automatically saved before running the test "save_on_run": true

  • Use Scratch - test output in new tab "ruby_use_scratch" : true

  • Change default terminal encoding: if you get [Decode error - output not utf-8], change terminal_encoding (default terminal encoding in Windows operating systems could be found by running chcp command in terminal; if you don't use Windows, you probably don't need this option anyway) "terminal_encoding": "cp866" // Russian users "terminal_encoding": "cp936" // Chinese users

Note

Before reporting an issue be sure to :

If this will not help provide to us debug informations using (CTRL + ` )

Please open an issue at https://github.com/maltize/sublime-text-2-ruby-tests if you discover a problem or would like to see a feature/change implemented.

Settings:

{
  "erb_verify_command": "erb -xT - {file_name} | ruby -c",
  "ruby_verify_command": "ruby -c {file_name}",

  "run_ruby_unit_command": "ruby -Itest {relative_path}",
  "run_single_ruby_unit_command": "ruby -Itest {relative_path} -n '{test_name}'",

  "run_cucumber_command": "cucumber {relative_path}",
  "run_single_cucumber_command": "cucumber {relative_path} -l{line_number}",

  "run_rspec_command": "rspec {relative_path}",
  "run_single_rspec_command": "rspec {relative_path} -l{line_number}",

  "ruby_unit_folder": "test",
  "ruby_cucumber_folder": "features",
  "ruby_rspec_folder": "spec",

  "check_for_rbenv": false,
  "check_for_rvm": false,
  "check_for_bundler": false,
  "check_for_spring": false,

  "ruby_use_scratch" : false,
  "save_on_run": false,
  "ignored_directories": [".git", "vendor", "tmp"],

  "hide_panel": false,

  "before_callback": "",
  "after_callback": "",

  "theme": "Packages/RubyTest/TestConsole.hidden-tmTheme",
  "syntax": "Packages/RubyTest/TestConsole.tmLanguage"
}

Bundler support:

There is a bundler autodetect feature - based on presence of Gemfile in projects root directory. Use "check_for_bundler": true settings for it.

Spin support:

First be sure that you have your copy of RubyTest.sublime-settings placed in User folder (refer to Settings above) and replace the following settings. ex:

{
  "erb_verify_command": "erb -xT - {file_name} | ruby -c",
  "ruby_verify_command": "ruby -c {file_name}",

  "run_ruby_unit_command": "spin push -Itest {relative_path}",
  "run_single_ruby_unit_command": "ruby -Itest {relative_path} -n '{test_name}'",

  "run_cucumber_command": "cucumber {relative_path}",
  "run_single_cucumber_command": "cucumber {relative_path} -l{line_number}",

  "run_rspec_command": "spin push {relative_path}",
  "run_single_rspec_command": "spin push {relative_path}:{line_number}",

  "ruby_unit_folder": "test",
  "ruby_cucumber_folder": "features",
  "ruby_rspec_folder": "spec",

  "ruby_use_scratch" : false,
  "save_on_run": false,
  "ignored_directories": [".git", "vendor", "tmp"],

  "hide_panel": false,

  "before_callback": "",
  "after_callback": "",

  "theme": "Packages/RubyTest/TestConsole.hidden-tmTheme",
  "syntax": "Packages/RubyTest/TestConsole.tmLanguage"
}

Zeus support:

This adds support for zeus when running RSpec or Cucumber tests. First be sure that you have your copy of RubyTest.sublime-settings placed in User folder (refer to Settings above) and replace the following settings. ex:

{
  "run_cucumber_command": "zeus cucumber {relative_path} --no-color",
  "run_single_cucumber_command": "zeus cucumber {relative_path}:{line_number} --no-color",

  "run_rspec_command": "zeus rspec {relative_path}",
  "run_single_rspec_command": "zeus rspec {relative_path}:{line_number}",
}

If you use RVM/bundler, you will need to also add:

"check_for_rvm": true

Note

Before reporting an issue be sure to :

If this will not help provide to us debug informations using (CTRL + ` )

Please open an issue at https://github.com/maltize/sublime-text-2-ruby-tests if you discover a problem or would like to see a feature/change implemented.

Known issues:

rvm and ruby 2.0 error Run tests when Sublime Text is NOT opened from the command line on OSX

Jump to Line
Something went wrong with that request. Please try again.