У меня есть эта небольшая 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>