4
我有一個很大的代碼庫,有幾個(太少)的單元測試;我將代碼添加到庫中,試圖對新代碼進行單元測試(我還希望在將來獲得更多經驗時爲舊代碼添加單元測試)。我應該把單元測試放在一個單獨的庫中嗎?獨立的子目錄?
我們目前使用一個自定義的(不是很精細的)單元測試框架;我想切換到boost.test
。
我的圖書館佈局是:
mylib1(300個文件,70000行代碼)
- SRC
- 富
- Foo.cpp中
- foo_part。 cpp
- foo_part.h
- UnitTests - 我應該把它移到
mylib
以外嗎?- foo_test1.cpp
- foo_test2.cpp
- foo_test3.cpp
- 酒吧
- bar.cpp
- bar_part.cpp
- bar_part.h
- UnitTests - 它屬於這裏嗎?
- bar_test1.cpp
- bar_test2.cpp
- bar_test3.cpp
- 富
- 包括
- foo.h中
- bar.h
- SRC
mylib2(70個文件,7000行的代碼)
- 看起來像上述
UnitTestFramework
- SRC
- MockObject1的mylib1。 cpp - 它屬於這裏嗎?
- Asserter.cpp -
boost.test
將取代它 - TestFixture.cpp -
boost.test
將取代它
- 包括
- MockObject1.h
- Asserter.h -
boost.test
將取代它 - TestFixture.h -
boost.test
將取代它
- SRC
我在這裏提出以下問題:
- 是否應單元測試是
mylib
DLL的一部分嗎? (我將mylib1
和mylib2
鏈接到一個DLL中) - 單元測試的源代碼是否應位於
mylib1
目錄下? - 因爲我有
mylib1
和mylib2
,應該如何找到相應的單元測試 - 在兄弟目錄中,在一起等? - 我應該在哪裏放置模擬對象的源代碼? (他們服務都
mylib1
和mylib2
)
有沒有機會,我打算通過餡所有300個文件放到一個目錄下的「簡化」樹形結構。所以我想這個答案大多是說「不要改變單元測試的位置,它們在正確的位置」。 – anatolyg