2010-10-01 22 views
2

在我的控制器中,我有一些返回json以及xml數據的方法。 我需要測試這些操作。爲了測試json部分,我發現這個reference,它工作正常。現在我需要測試XML部分的操作。 任何人誰可以幫助或建議的東西是最受歡迎的我一直在撓我的頭一個小時,但無濟於事。 請幫忙。提前致謝。爲返回XML的控制器操作編寫規範 - Ruby on Rails

回答

2

當你要求你的控制器時,你指定了你想要的格式。用Nokogiri解析結果,看看你的XML是否有效

it 'should has tag hello' do 
    get :index :format => :xml 
    Nokogiri::XML(response.body).should has_tag('hello') 
ebd 
+0

我們可以做到這一點,而不使用Nokogiri。 – Rohit 2010-10-01 08:13:44

+0

我自己找到了答案。但對你的努力仍然讚不絕口。謝謝 – Rohit 2010-10-01 08:26:56

+0

即使這個工程。測試它這是行得通的,所以它是一個正確的答案,只是我不想在環境中使用額外的工具 – Rohit 2010-10-01 08:33:13

1

@shingara謝謝你的答案。但我想這樣做,而不使用任何額外的工具,只是rspec。 我找到了解決方案here。閱讀完整的文章。它有我想要的,還有一點Hpricot演示。 好吧,無論如何感謝回答。

it 'should has tag hello' do 
    get :index :format => :xml 
    response.should have_tag("hello",'value inside hello tag') 
end 
+0

是的,你可以這樣做,因爲HTML是一種XML,因此它使用ActiveSupport :: XML,它可以是Nokogiri或其他工具。 – shingara 2010-10-01 08:48:57

+0

@羅希特鏈接已損壞:( – MegaTux 2014-03-14 14:14:55

+0

對不起,我猜其他人已經接管了這個域。:-( – Rohit 2014-03-15 18:18:11