2016-09-14 78 views

回答

2

我會用手寫一個文件作爲測試夾具。然後,我將作爲我的測試的一部分與生成器生成文件。在那一點上,我會區分這兩個文件。看起來這個diffy gem可以幫助你。如果沒有差異,那麼通過測試。否則失敗。

https://github.com/samg/diffy

不要忘記測試後清理臨時文件。你不希望他們在你的回購站附近閒逛。

0

我沒有發現如何測試Rails生成器的官方建議。所以,我只是在虛擬應用程序上直接運行生成器,比較生成的文件並在測試結束時刪除它們。

Here是我的規範,它實現了所描述的方法。我在這裏使用minispec而不是rspec,但它們非常相似。

0

還有的gem https://github.com/petergoldstein/generator_spec,它做了體面的工作,雖然不是很積極維護

+0

一個解決方案的鏈接是值得歡迎的,但請確保你的答案沒有它是有用的:[添加各地的聯繫上下文](// meta.stackexchange.com/a/8259),所以你的同行用戶將會知道它是什麼以及它爲什麼在那裏,然後引用你鏈接的頁面中最相關的部分,以防目標頁面不可用。 [解決方案只是一個鏈接可能會被刪除。](// stackoverflow.com/help/deleted-answers) –

+1

感謝複製粘貼的傢伙,非常感謝,但答案是非常清楚,是好的,因爲它是。有一個圖書館這樣做,去檢查它,我不會從自述中複製。如果圖書館被刪除,這個答案將不會有任何幫助。我想知道爲什麼有人會低估一個非常有用的答案,但是,嘿,你的電話。 – dgmora