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:
- Maciej Gajek (https://github.com/maltize)
- Grzegorz Smajdor (https://github.com/gs)
- Tejas Dinkar (https://github.com/gja)
Donate - support us!
Bitcoin: 1KBqcRsfmdh8rGV9Mx6sJmYuB6y517BZHy
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 hitesc
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-.
- Single View:
- Easy file creation:
Command-Shift-C
Keys: 'Command' (OSX) 'Ctrl' (Linux / Windows)
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 runningchcp
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 :
- Run Sublime Text 2 from command line
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 :
- Run Sublime Text 2 from command line
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] (#194)