0

Windows では、SublimeText3 用の RubyTest Plugging をインストールしています。

rspecが構成されたRails4プロジェクトであるCentOS6.5でVagrantを実行しています。

仮想 CentOS では vagrant を介して rspec テストを実行するが、Windows では実行しない SublimeText3 で RubyTest Plugging を開始するにはどうすればよいですか?

私は設定されています:

{
  "ignored_directories": [".git", "vendor", "tmp"],
  "run_rspec_command": "vagrant ssh --command \"'cd /vagrant/sites/sample_app && rspec spec'\""
}

できます!

しかし、実行のために設定する方法:

1) アクティブなテスト ファイルのみ?

2) テストファイルのアクティブな行のみ?

PS SublimeText2でのみ機能します

4

1 に答える 1

3

カスタム RubyTest コマンドで成功しました。そのコマンドの作成は個々のセットアップに依存しますが、私の構成は次のようになります。

{
  "ignored_directories": [ ".git", "tmp" ],
  "run_rspec_command": "cd $DIR_WITH_VAGRANTFILE && vagrant ssh --command \"cd /vagrant/`echo {relative_path} | sed 's/\\/spec.*$//'` && bundle exec rspec `echo {relative_path} | sed 's,^[^/]*.*/spec,spec,'`\"",
  "run_single_rspec_command": "cd DIR_WITH_VAGRANTFILE && vagrant ssh --command \"cd /vagrant/`echo {relative_path} | sed 's/\\/spec.*$//'` && bundle exec rspec `echo {relative_path} | sed 's,^[^/]*.*/spec,spec,'` -l{line_number}\"",
}

これらのコマンドは、いくつかの仮定を行います。

  1. $DIR_WITH_VAGRANTFILEVagrantfile を含むディレクトリへのパスを持つ、という環境変数があります。

  2. そのディレクトリは、VM の /vagrant にマウントされます

  3. /vagrant/rails_app_1、/vagrant/rails_app_2 など、そのディレクトリの下にいくつかの Rails アプリがあります。

このコマンドは、relative_file 変数から完全なフォルダー パスを抽出bundle exec rspecし、ファイル名に対してリモートで実行することによって機能します。

Rails アプリを /vagrant 内に直接配置して、より単純なセットアップを行う場合は、次のような方法で問題を解決できるはずです。

{
  "ignored_directories": [ ".git", "tmp" ],
  "run_rspec_command": "cd $DIR_WITH_VAGRANTFILE && vagrant ssh --command \"cd /vagrant && bundle exec rspec {relative_path}\"",
  "run_single_rspec_command": "cd DIR_WITH_VAGRANTFILE && vagrant ssh --command \"cd /vagrant && bundle exec rspec {relative_path} -l{line_number}\"",
}

注: 異なるセットアップと異なる場所に複数の Rails アプリがある場合は、構成ごとにこのセットアップを変更する必要があります。

于 2014-05-22T12:00:00.220 に答える