3

RSpecを使用して、要素が存在し、指定された値があることを確認するためにどのようにテストできますか/すべきですか

私の例では、値が 1.0 の EnvelopeVersion があることを確認しようとしています。EnvelopeVersion が存在することを確認するためのテストも見たいです。

def self.xml_header
   builder = Nokogiri::XML::Builder.new do |xml|
  xml.Root{
     xml.EnvelopeVersion "1.0"
  }
   end
   builder.to_xml
end

これを試してみましたが、未定義のメソッド「has_node?」で失敗しました。為に #

it 'should create valid header' do
   doc = GEM::xml_header
   doc.should have_node("EnvelopeVersion ")
end 
4

2 に答える 2

1

テストでnokogiriを使用して、生成されたxmlを解析し、クエリを実行することになりました

require 'nokogiri'

describe 'function' do
  describe '.xml_header' do
    it 'should create valid header' do
        doc = Nokogiri::XML::Document.parse(GEM::xml_header)    
        doc.xpath('//Root/EnvelopeVersion').text.should eq("1.0")
    end     
  end
end
于 2012-08-22T11:16:29.623 に答える