我有一套腳本和模塊總共幾兆字節。迴歸測試和必要的數據是數百兆字節b/c的數據性質。用實際的源代碼來保持迴歸測試和大量測試數據是「最佳實踐」嗎?我應該在源代碼回購中使用大型測試數據進行迴歸測試嗎?
請注意,有一套單獨的單元測試,它要小得多,並且要測試單個模塊。但是主要管道的運行需要真正的(大的)數據纔有用。
我有一套腳本和模塊總共幾兆字節。迴歸測試和必要的數據是數百兆字節b/c的數據性質。用實際的源代碼來保持迴歸測試和大量測試數據是「最佳實踐」嗎?我應該在源代碼回購中使用大型測試數據進行迴歸測試嗎?
請注意,有一套單獨的單元測試,它要小得多,並且要測試單個模塊。但是主要管道的運行需要真正的(大的)數據纔有用。
我想你應該看看在這裏扮演一個角色的各種力量。
特定版本的測試(及其數據)測試特定版本的代碼。因此,希望能夠一起提交對測試和代碼的更改。
在源代碼控制下擁有大型測試集可能會損害不總是需要它們的人的性能:「svn checkout」(或「cleartool mkview -snaphost」或您有什麼)會複製大量文件,測試運行時間變長等。因此,希望將大與小,集成測試與單元測試分開。
我的結論是那麼一個儲存庫來保存在一起,但要確保有一切 - 除了最大的測試,和他們 - 大數據工作的方式。例如,在Subversion中,可以有文件夾/code/src
,/code/test/unit
,/code/test/integration
和/testdata
。那樣的話,許多開發人員可能會「svn checkout .../code」,而忽略大型測試集。而且您的連續構建工具將使用整個樹,以便它可以運行集成測試。