任何人都可以帮我写下以下方法的rspec:write_entry_to_xml方法写xml节点。 该条目是一个看起来像
的对象entry = Sitemap::Entry.new("http://www.example.com", 'monthly', 0.8, "2011-11-23 13:56:42 UTC")
def write_entry_to_xml(entry)
node = Nokogiri::XML::Node.new("url", @xml_document)
node["loc"] = entry.loc
node["lastmod"] = entry.lastmod.to_s
node["changefreq"] = entry.changefreq.to_s
node["priority"] = entry.priority.to_s
node.to_xml
end
由于
答案 0 :(得分:0)
有多种方法可以获取一些预定义数据,您可以在ur spec中将其用作输入。 1.
before :each do
@input = input
end
现在规范可以访问@input,因为这个块将在每个规范之前运行。 2.您可以将规范中的输入定义为局部变量,然后访问它。如果您需要在许多地方访问相同的变量,那么您可以使用上述方法。
您可以使用Builder等库来获取XML。
builder = Builder::XmlMarkup.new
xml = builder.url do | b|
b.loc = "http://www.experteer.de/jobboerse/deutschland/jobs/mannheim"
b.changefreq =0.8
b.priority = "monthly"
b.lastmod = "2011-11-23 13:56:42 UTC"
end
此代码应该为您提供XML对象。如果您需要进一步的帮助,请告诉我。
答案 1 :(得分:0)
首先,你应该知道你的方法的预期输出应该是多少。我们无法告诉您代码应该做什么。一旦你有了,你的规范不必是
describe SomeClass do
describe('write_entry_to_xml') do
let(:entry) { Sitemap::Entry.new("http://www.example.com", 'monthly', 0.8, "2011-11-23 13:56:42 UTC")}
it 'should return a properly formatted xml fragment' do
SomeClass.write_entry_to_xml(entry).should == "<url>...</url>"
end
end
end
这里我假设这个方法是SomeClass
上的一个类方法 - 改变以匹配你所做的,你也应该用所需的输出替换“...”