烧杯 Rspec 运行系统命令



我正在为 Windows 上的 puppet 构建验收测试,我需要确保某些安全策略在应用清单后确实发生了变化。我有

it 'should modify security policy' do
system("secedit.exe /export /areas SECURITYPOLICY /cfg C:policy.txt")
File.read('C:policy.txt').should include "Banner Title"
end

当我运行它时,我得到一个没有这样的文件或目录来引用我正在创建的文件,这让我相信将策略拉入文件的初始命令没有运行。

我做错了什么吗?

Rspec 可能没有在您需要它查看的目录中查找。您可能需要在rails_helper.rbspec_helper.rb文件中使用类似于以下内容的行:

Dir[Rails.root.join('app/policies/**/*.rb')].each { |f| require f }

事实证明,问题是系统函数将运行我在主机上本地指定的任何命令,但我尝试在其中运行木偶环境的虚拟机。最终改用了on(服务器,'COMMAND'(函数。

最新更新