2016-01-21 26 views
1

在開發代碼庫時,我想將其測試與實際代碼有效載荷分開,因爲我相信當有人使用我的庫時,他們只是想使用它,而他們對測試不感興趣 - 測試是我的責任,不是我的用戶。Git子模塊不是強制庫用戶下載測試的好主意嗎?

我知道存儲空間便宜,帶寬也很便宜,但我的原則是不要浪費他們兩個。

我想把所有的測試代碼放到一個單獨的git倉庫中,並將它用作主倉庫中的git子模塊。

這樣,感興趣的人仍然可以獲取並執行測試,但通常在克隆主存儲庫時,唯一的額外文件是子模塊的空目錄和.gitmodules文件。

這是個好主意嗎?

回答

2

我將實際的庫作爲一個存儲庫,並將測試作爲另一個存儲庫,然後將兩個子模塊作爲超級項目包含在兩個子模塊的匹配版本中。在這種情況下,只需要圖書館的用戶不需要知道測試的實際情況,也不需要以任何方式處理子模塊。

熟悉子模塊的用戶可以克隆超級項目,如果他們也對測試感興趣,使測試負載可選。

+0

我喜歡你的想法,謝謝! – Wabbitseason

3

當然,你可以這樣做。但子模塊是一件棘手的事情,有時它們有點複雜,所以對於一些不熟悉它們的用戶來說需要時間。

在我看來,你可以將你的測試打包到庫中。根據您的語言,您可以將它們放入自己的包(Java)中,以便在構建發行包時在構建腳本(Ant/Make)中排除它們。

存儲是非常便宜,使用子模塊是一件非常棘手的事情。而且,對於一些人(比如我)來說,運行測試是一種相當的克服,當你必須看到子模塊的工作方式時,它變得更加困難。另外,請記住:良好的測試也可以用作文檔。

相關問題