当我从After钩子调用erb程序时未呈现HTML文件

时间:2019-01-27 07:50:05

标签: ruby-on-rails ruby rspec

我有这个小的erb程序,

def createHtml erbFileName,outputHtmlFile
  require 'erb'
  erb_str = File.read(erbFileName)
  @name = 'Generated by Ruby Automation Framework '
  renderer = ERB.new(erb_str)
  @result = renderer.result
  File.open(outputHtmlFile, 'w') do |f|
    f.write(@result)
  end
end

当我直接从同一文件中调用此函数时,此程序运行正常

createHtml 'ERBTemplate.html.erb','HTMLReport.html'

但是我必须从Rspec After hook调用此函数,当我在钩子之后从Rspec调用同一行时,它没有呈现@name的值。可能是什么原因?

看看我下面的函数的调用方式

describe 'Behavior' do
   it 'something' do
      puts 'something'
   end
   after(:all) do
    createHtml 'ERBTemplate.html.erb','HTMLReport.html'
   end
end

ERB模板如下

<div id="footer">
  <% 5.times do %>
    <p><%= @name %></p>
  <% end %>
</div>

0 个答案:

没有答案