2013-12-10 27 views
0

我沿着側gradle和ScalaTest使用了Scala。Scala/Gradle項目...在哪裏存儲超大單元測試所需的文件?

只是想知道......人們在哪裏存儲「大」(65 MB)但單元測試需要的文件對象。我的應用程序對這些大文件進行圖像處理。

我有一個函數,這樣的文件的本地鏈路,並計算一個有用的指標:-)

我想單元測試此功能。我想爲這個功能做大約10個單元測試,所以我正在查看10個不同的圖像文件(65 * 10 = 650MB)....我應該在哪裏存儲這些數據?有什麼想法嗎 ?一個想法是將它存儲在S3上,並在每次單元測試啓動時自動下載它?將數據存儲在源代碼庫中會很糟糕,因爲它會使源代碼下載這麼一個更長的過程......任何想法?你們有什麼感想 ?

乾杯!

回答

0

可以通過某些URL訪問文件並從測試中下載它們(如果它們本地不存在),或將它們打包爲Maven/Ivy依賴項,將它們發佈到Maven/Ivy存儲庫,然後將它們他們使用Gradle的依賴管理。對大型文件使用版本控制通常不是一個好主意。

0

那麼,如果你使用Git ....我會使用Git Submodules,如果你不使用git,我仍然會使用一個單獨的git存儲庫來託管大而不真的那麼大的文件。

繼承人的事情。這些文件都沒有那麼大的今天的標準,並作爲開發人員,如果我能源控制它。我的源代碼控制它,除非它:

  • 永遠不要去改變和公開(即發行庫)。在千兆
  • 大規模大

如果你不使用git我想你可以寫在單元測試中下載的文件的東西,但那麼你可能會想要做的驗證文件的校驗如果文件的變化不會很好,只下載增量.....所有這些git做的。

雖然如果你確實想要從你的單元測試中自動下載文件看看jgit,但我只是包含開發者指令和構建腳本來手動執行git去下載文件。