2011-03-29 55 views
1

現在我正在通過創建一個控制器來傳遞文件的名稱,解析模型中的文件並添加必要的信息作爲行添加到我的數據庫中,然後將其顯示在頁面上來完成我的測試。然後,我將頁面上的字段與字段應該是什麼進行比較。使用Rspec測試文件解析的最佳方法是什麼?

但是這似乎很麻煩,因爲控制器和顯示頁面只是爲了這些測試的目的而創建的。有沒有辦法只將文件名提供給我的模型中的方法,然後對數據庫信息本身運行常規測試?

回答

2

我認爲,如果我們有一個代碼示例(控制器和模型)來解釋爲什麼不應該用標準rspec語言來處理,那麼回答這個問題會更容易。

不知道你的控制器或模型,我至少可以這樣說:是的,你可以這樣做。接下來的基本過程是創建你的測試文件(如果你需要的話),使用標準變量來提供名稱/路徑到測試中(是的,很可能是硬編碼的,儘管這取決於你計劃的範圍有多廣泛be),然後根據你的數據庫對它進行測試,無論你使用哪種標準方式來做這些事情。

+0

對不起,你是說我上面描述的方式是標準成語還是不是?當你說我可以這麼做時,你是在說我正在做的事情,還是用文件名稱調用特定功能並繞過控制器?我問的唯一原因是,如果涉及控制器並查看除了測試以外的任何其他目的,則看起來很麻煩。 – 2011-03-30 21:11:51

+0

你上面描述的方式感覺非常像標準習語。無論您是決定測試控制器還是隻測試模型,都會在您所運行的測試類型上有所不同。模型測試更多的是標準的Test :: Unit。對於測試控制器,您更多地討論功能測試。獲取應用程序的更全面的「堆棧視圖」,它通常落在rspec之上而不是Test :: Unit。合理?這是一個軌道指南條目,可能有幫助! http://guides.rubyonrails.org/testing.html#unit-testing-your-models – 2011-03-30 21:22:40

+0

這聽起來像你真正想要的是你的模型的單元測試。創建一個測試輸入文件,將其傳遞給測試中的模型,然後聲明測試文件中的字段與插入到數據庫中的字段匹配。 – 2011-03-31 04:06:02

相關問題