Sublime Text 2 plugin for running ruby tests! (Unit, RSpec, Cucumber)
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
messages adding files for package manager - sublime 2 Sep 18, 2011
.gitignore Added configurable directory ignore Aug 18, 2012
Context.sublime-menu Fixed a bug for switching between code and test, on Linux. Feb 17, 2012
Default (Linux).sublime-keymap Revert "fix split view - should not break in newer version of sublime" Sep 1, 2014
Default (OSX).sublime-keymap Revert "fix split view - should not break in newer version of sublime" Sep 1, 2014
Default (Windows).sublime-keymap Revert "fix split view - should not break in newer version of sublime" Sep 1, 2014
Default.sublime-commands Fixed a bug for switching between code and test, on Linux, in Default… Feb 17, 2012
Main.sublime-menu Add menu entries to access plugin configuration. Aug 25, 2012
README.md Add support for chruby Apr 8, 2016
RubyTest.last-run Added RunLastRubyTest class to run_ruby_test.py. Added menu items and… Nov 6, 2011
RubyTest.sublime-settings Add support for chruby Apr 8, 2016
TestConsole.hidden-tmTheme TestConsole theme hidden, fixed #133, thx to @aziz Nov 30, 2012
TestConsole.tmLanguage reword when all test are green :) Jul 17, 2013
Widget.sublime-settings removed sublime 3 error on launch when could not find the colorscheme Feb 14, 2013
messages.txt adding files for package manager - sublime 2 Sep 18, 2011
package-metadata.json adding files for package manager - sublime 2 Sep 18, 2011
repositories.json adding files for package manager - sublime 2 Sep 18, 2011
ruby_tests.png updated screenshot Sep 6, 2011
run_ruby_test.py Add support for chruby Apr 8, 2016

README.md

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

  • CHRUBY / 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_chruby": false,
  "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] (https://github.com/maltize/sublime-text-2-ruby-tests/issues/194)