黄瓜/红宝石:可以将&;PUT;PUT输出为--格式的html文件吗?
我有一些Ruby测试,它们调用不同的模块和类,在这些模块和类中,它们详细说明了它们在执行过程中如何处理一些"PUT"命令。
如果您在控制台中运行这些测试,则您将在控制台中看到"PUT"命令的输出,但如果您使用选项运行测试:
ruby --format html --output file.html
那么所有信息都会丢失。有没有办法将简单的字符串消息记录到HTML报告中?
解决方案
您可以记住每个场景的前钩子中的World:
# features/support/env.rb
Before do |scenario|
$world = self
end
然后在外部世界的支持类和模块中,您可以使用PUT:
$world.puts 'something'
您还可以获取/设置黄瓜实例变量为:
$world.instance_variable_get(:@user)
$world.instance_variable_set(:@user, user)
我还倾向于将这两个方法提取到帮助器以获得更好的可见性:
module Helpers
def get_scenario_variable(symbol)
$world.instance_variable_get(symbol)
end
def set_scenario_variable(symbol, value)
$world.instance_variable_set(symbol, value)
end
end
然后您可以在需要这些方法的地方包括此模块
相关文章