我目前正在尝试使用 yardoc 记录我的 serverspec 测试。为此,我安装了 yard-serverspec-plugin rubygem,它的工作还不错。
但我有一个问题。rubygem 以相同的方式处理“描述”和“上下文”,并且不会将其结构化。因此,很难为失败的 serverspec 测试找到正确的文档。
这些是我的 serverspec 测试:
describe 'OS name and version' do
# @reason command - compare local os name with the os name defined in hpsm
# @solution command - adjust the HPSM os name to match the servers os name
context command('awk \'{ printf("%s %s %s %s", $1,$2,$3,$4 ) }\' /etc/redhat-release') do
its(:stdout) { should eq 'Red Hat Enterprise Linux' }
end
# @reason command - compare local os version with the os version defined in hpsm
# @solution command - adjust the HPSM os version to match the servers os version
context command('awk -F . \'{printf gensub(/[^0-9]/, "", "g", $1)}\' /etc/redhat-release') do
its(:stdout) { should eq '7' }
end
end
这就是它的记录方式:
在这里你可以找到处理程序的代码:https ://github.com/rrreeeyyy/yard-serverspec-plugin/blob/master/lib/yard/serverspec/plugin/handler.rb
我的问题是,是否有人知道如何调整处理程序代码以在具有层次结构的 html 文档中仅获取 2 个对象?因为“操作系统名称和版本”对象真的没用。像这样的东西会很好:
"OS name and version command('awk \'{ printf("%s %s ....')"
"OS name and version command('awk -F . \'{printf ....')"
提前致谢和问候