我正在使用CPPUnit對c代碼進行一些單元測試。CPPUnit訪問定義在c文件中
在測試代碼中有一些定義在c文件中,而不是在h文件中。所以他們不能從代碼中的其他地方訪問。許多定義用於設置數組的大小。
當我進行單元測試時,我想盡可能地使它們動態化,這意味着當定義在最終發佈之前被更改時它們仍然可以工作。我已經做了一些循環和東西來通過使用數組的函數,以便我測試多次,因爲數組中有條目等等。但是直到現在,我在我的單元測試代碼中使用了一個定義的副本。因此,如果在代碼中更改了定義以進行測試,那麼它們在單元測試代碼中不會更改。
所以我的主要問題是,如果有一些技巧只用於單元測試的目的,以某種方式使定義全局或任何東西,而不改變原始源代碼只是爲了適應單元測試的使用。也許編譯器設置? (我正在使用visual studio 2008)。
簡單包括C文件怎麼樣? '#include「myfile.c」'是否有效? – 2011-03-09 09:42:30
此外,我不確定VS,但在Clang和GCC中,您可以使用'-D = '編譯器標誌。 –
2011-03-09 09:47:09
爲什麼不正確編寫代碼並將它們所屬的定義放在頭文件中? – 2011-03-09 10:05:53