作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
有什么方法可以访问 RSpec 示例中的 Ruby 警告列表吗?我在正在测试的库中收到以下错误,并想为其编写单元测试。
warning: previous definition of BUILD_FILE was here
最佳答案
我最终启动了一个新流程来评估流程输出。在我的例子中,问题是一个重新定义的常量,所以我通过将类两次加载到新的 Ruby 进程中然后使用 IO 流读取输出来进行测试:
it 'should not redefine BUILD_FILE constant' do
root_path = "#{File.dirname(__FILE__)}/../../../../"
cmd = "load \"#{root_path}libraries/build_file.rb\";"
ruby_path = 'C:/opscode/chefdk/embedded/bin/ruby.exe'
pipe_cmd_in, pipe_cmd_out = IO.pipe
pid = Process.spawn("#{ruby_path} -e '#{cmd} #{cmd}'", :out => pipe_cmd_out, :err => pipe_cmd_out)
Process.wait(pid)
pipe_cmd_out.close
output = pipe_cmd_in.read
puts "OUTPUT = #{output}"
expect(output).to_not match(/previous\sdefinition\sof\sBUILD_FILE/)
end
关于ruby - 我如何在 RSpec 中测试我加载的代码是否有任何 Ruby 警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35562232/
我是一名优秀的程序员,十分优秀!