在Windows上我安装了SublimeText3的RubyTest插件。
我在CentOS6.5上运行Vagrant我的Rails4项目配置了rspec。
如何启动RubyTest插入SublimeText3,它通过虚拟CentOS上的vagrant运行rspec测试但不在Windows上运行?
我设置:
{
"ignored_directories": [".git", "vendor", "tmp"],
"run_rspec_command": "vagrant ssh --command \"'cd /vagrant/sites/sample_app && rspec spec'\""
}
有效!
但是如何设置run:
1)只有活动的测试文件?
2)只有测试文件中的活动行?
PS仅适用于SublimeText2
答案 0 :(得分: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}\"",
}
这些命令做了一些假设。
您有一个名为$DIR_WITH_VAGRANTFILE
的环境变量,其中包含指向包含Vagrantfile的目录的路径
该目录已安装在VM中的/ vagrant
该目录下有几个rails应用,例如/ vagrant / rails_app_1,/ vagrant / rails_app_2
该命令的工作原理是从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应用程序,则必须为每个配置更改此设置。