我有一个创建模板 ruby 项目的项目。
我正在使用 serverspec 并想验证模板的行为。
但是,使用command(`rake -T`)
失败。如果我手动执行命令,它会按预期工作。
调试,在Serverspec中运行测试时,发现错误Gemfile
-它使用的是我项目中的Gemfile(.
),而不是生成的目录(target/sample_project
)。
如何使用 Serverspec/Rspec 测试调用rake
或命令?bundler
示例代码:
require "spec_helper"
require 'serverspec'
require 'fileutils'
set :backend, :exec
set :login_shell, true
describe "Generated Template" do
output_dir='target'
project_dir="#{output_dir}/sample_project"
# Hooks omitted to create the sample_project
# and change working directory to `project_dir`
describe command('rake -T') do
its(:stdout) { should include "rake serverspec:localhost" }
its(:stdout) { should include "rake serverspec:my_app" }
end
end