我剛剛開始使用TDD,並且很好奇其他人如何運行測試。作爲參考,我使用的是谷歌測試框架,但我相信這個問題適用於大多數其他測試框架和C/C++以外的語言。你如何運行你的單元測試?編譯器標誌?靜態庫?
我一般的做法至今一直做的三兩件事之一:
寫的大部分應用程序的靜態庫,然後再創建兩個可執行文件。一個可執行文件是應用程序本身,而另一個則是所有測試的測試運行器。都鏈接到靜態庫。
嵌入測試代碼直接插入應用程序本身,以及啓用或使用編譯器標記禁用測試代碼。這可能是迄今爲止我使用過的最好的方法,但會使代碼混亂一點。
嵌入給出的測試代碼直接插入應用程序本身,而且,某些命令行切換某一種運行該應用程序本身或運行嵌入在應用程序中的測試。
這些解決方案都不是特別優雅 ...
如何你辦呢?
的共識似乎是,#1是最好的。這似乎並不像它可能那樣優雅。我想如果我想要優雅,我應該改用腳本語言。 :p – kurige 2010-04-23 10:17:00