Blogaomu

WEBアプリケーション開発とその周辺のメモをゆるふわに書いていきます。

SublimeText2のビルド機能でRSpecを実行してみた

mkd_text: - | Tools > Build System > New Build System で rspec を実行するための設定ファイルを作成します。

    {
        "path": "$PATH",
        "cmd": ["bundle", "exec", "rspec", "$file"],
        "working_dir": "$project_path"
    }

`rspec.sublime-build`という名前で保存します。ビルド実行時に`bundle exec rspec 開いているファイル名`というコマンドを実行させるようにしています。開いてるファイルは.specファイルとします。`working_dir`は開いているファイルのディレクトリを指定しておりまして、指定したディレクトリでコマンドを実行させるようにします。[^1] 話がそれますが、SublimeText2 の設定ファイルはJSONなんですね。

## 参考
[sublime text 2 で PHPをビルドできるようにする:お題目うぉっち](http://blog.livedoor.jp/maru_tak/archives/51277152.html)
[SublimeText2 を使い始める - kaz_shuの日記](http://d.hatena.ne.jp/kaz_shu/20120611/1339422855)

[^1]: `$file_path`で指定することも可能だと思いますが、どちらがいいんでしょうね?

format: standard こんにちは。先日のYokohama.vim.reverse #4で「SublimeText2の魅力的な機能を探そう」というセッションがあり、そこで試してみたことをメモっておきます。

タイトルの通りRSpecをSublimeText2上で実行してみよう、という実験的な内容です。

まず、メニューの Tools > Build System > New Build System で RSpec を実行するための設定ファイルを作成します。

{
    "path": "$PATH",
    "cmd": ["bundle", "exec", "rspec", "$file"],
    "working_dir": "$project_path"
}

このファイルをrspec.sublime-buildという名前で保存します。

次に.specファイルを開いて、メニューの Tools > Build System > rspec を選択します。そしてビルドを実行するとRSpecが実行されるはずです。 run_rspec_on_sublimetext2.png

設定ファイルの説明をしておきます。ビルド実行時にbundle exec rspec <開いているファイル名>というコマンドを実行させるようにしています。working_dirは開いているファイルのディレクトリを指定しておりまして、指定したディレクトリでコマンドを実行させるようにします。1 話がそれますが、SublimeText2 の設定ファイルはJSONなんですね。

それと注意すべき点としてはSublimeText2をコマンドから起動しないとうまくRSpecが実行されないことです。詳しくはSublimeText2 を使い始める – kaz_shuの日記に書いてありますが、

上記URLのようにシンボリックリンクを生成し、パスを通してターミナル上から起動すれば問題なくテストが実行された。ランチャーから起動していたのがいけなかったようだ。

という点でハマっていた模様です。私もハマりました。そして同エントリーにはテスト用のパッケージがあると書いてありますので、本格的に使っていくならパッケージを利用したほうが良いかと思います。

参考

  • $file_pathで指定することも可能だと思いますが、どちらがいいんでしょうね?