ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

Test Runner

Sublime Text plugin for running tests.

Labels testing

Details

Installs

  • Total 3K
  • Win 1K
  • Mac 953
  • Linux 581
Jan 21 Jan 20 Jan 19 Jan 18 Jan 17 Jan 16 Jan 15 Jan 14 Jan 13 Jan 12 Jan 11 Jan 10 Jan 9 Jan 8 Jan 7 Jan 6 Jan 5 Jan 4 Jan 3 Jan 2 Jan 1 Dec 31 Dec 30 Dec 29 Dec 28 Dec 27 Dec 26 Dec 25 Dec 24 Dec 23 Dec 22 Dec 21 Dec 20 Dec 19 Dec 18 Dec 17 Dec 16 Dec 15 Dec 14 Dec 13 Dec 12 Dec 11 Dec 10 Dec 9 Dec 8
Windows 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Mac 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Linux 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0

Readme

Source
raw.​githubusercontent.​com

Sublime Test Runner

Runs tests on save, with status bar summary and details on output panel. It should work with any console/terminal runnable test framework which produces TAP output.

Installation

The easiest way to install is via the Sublime Package Control plugin. Bring down your Command Palette (Command+Shift+P on OS X, Control+Shift+P on Linux/Windows), open “Package Control: Install Package” (in your Command Palette) and search for “Test Runner”. That's it!

To install it manually without Git: Download the latest source from GitHub, copy the whole directory into the Packages directory and rename it to “Test Runner”.

To install it manually with Git: Clone the repository in your Sublime Text 2 Packages directory:

git clone https://github.com/accerqueira/sublime-test-runner.git "Test Runner"

The “Packages” directory should be located at:

  • OS X:

    ~/Library/Application\ Support/Sublime\ Text\ 2/Packages/

  • Linux:

    ~/.Sublime\ Text\ 2/Packages/
    or
    ~/.config/sublime-text-2/Packages/

  • Windows:

    %APPDATA%/Sublime Text 2/Packages/

The plugin should be picked up automatically. If not, restart Sublime Text.

Usage

Test Runner will, by default, run make test REPORTER=tap whenever you save a file. You can also bring down the Command Palette and look for “Test Runner” available commands.

As an example, you could use the following rules for node.js Makefile (assuming you have mocha for testing and istanbul for test coverage):

test:
    @./node_modules/mocha/bin/_mocha -R $(REPORTER)

test-cov:
    @./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha -- -R $(REPORTER)

.PHONY: test test-cov

For test result coloring, you can add something like this to your color scheme file:

<dict>
    <key>name</key>
    <string>Test PASS</string>
    <key>scope</key>
    <string>test.status.pass</string>
    <key>settings</key>
    <dict>
        <key>foreground</key>
        <string>#33FF33</string>
    </dict>
</dict>
<dict>
    <key>name</key>
    <string>Test FAIL</string>
    <key>scope</key>
    <string>test.status.fail</string>
    <key>settings</key>
    <dict>
        <key>foreground</key>
        <string>#FF3333</string>
    </dict>
</dict>
<dict>
    <key>name</key>
    <string>Test SKIP</string>
    <key>scope</key>
    <string>test.status.skip</string>
    <key>settings</key>
    <dict>
        <key>foreground</key>
        <string>#999999</string>
    </dict>
</dict>
<dict>
    <key>name</key>
    <string>Test TODO</string>
    <key>scope</key>
    <string>test.status.todo</string>
    <key>settings</key>
    <dict>
        <key>foreground</key>
        <string>#FFFF33</string>
    </dict>
</dict>

For more customization, the following scopes are available…

  • …for tests marked as passed:

    • test.result.pass
    • test.status.pass
    • test.description.pass
  • …for tests marked as failed:

    • test.result.fail
    • test.status.fail
    • test.description.fail
  • …for tests marked as skipped:

    • test.result.skip
    • test.status.skip
    • test.description.skip
  • …for tests marked as todo:

    • test.result.todo
    • test.status.todo
    • test.description.todo