我想在 vim 中运行 Gitlab 的 rspec 测试(调用:!rspec)。问题是,我正在使用此处提供的 vagrant box:https://github.com/gitlabhq/gitlab-vagrant-vm
这意味着整个应用程序都在 vagrant box 中运行,当我从 vim 中调用 rspec 时,它会尝试在本地运行。
有什么方法可以将 rspec 调用转发到 vagrant box,并在本地返回输出?
我找到了这个:https://github.com/clintoncwolfe/vagrant-rspec-ci但这不是我想要的,因为我必须运行自定义命令。
最佳答案
您可以通过 ssh 执行任何命令,并返回输出:
$ ssh user@host echo "hi"
hi
你可以用它来运行 rspec:
$ ssh user@vagrant-ip "cd /path/to/project && rspec"
使用这种方法时要牢记的是,必须正确设置您的 shell 环境以允许访问 rspec
命令。您的里程会因您管理 ruby 的方式而异。
但是你可以在vim中设置一个命令来执行这个SSH命令,并且会返回输出,例如:
:command VRspec exec "system('ssh user@vagrant-ip...')"
关于ruby-on-rails - 针对 vagrant box 运行 rspec,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17726972/