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が実行されるはずです。
設定ファイルの説明をしておきます。ビルド実行時にbundle exec rspec <開いているファイル名>
というコマンドを実行させるようにしています。working_dir
は開いているファイルのディレクトリを指定しておりまして、指定したディレクトリでコマンドを実行させるようにします。1 話がそれますが、SublimeText2 の設定ファイルはJSONなんですね。
それと注意すべき点としてはSublimeText2をコマンドから起動しないとうまくRSpecが実行されないことです。詳しくはSublimeText2 を使い始める – kaz_shuの日記に書いてありますが、
上記URLのようにシンボリックリンクを生成し、パスを通してターミナル上から起動すれば問題なくテストが実行された。ランチャーから起動していたのがいけなかったようだ。
という点でハマっていた模様です。私もハマりました。そして同エントリーにはテスト用のパッケージがあると書いてありますので、本格的に使っていくならパッケージを利用したほうが良いかと思います。
参考
$file_path
で指定することも可能だと思いますが、どちらがいいんでしょうね? ↩