heavenchou - 週六, 2016/02/13 - 00:30
去年聽了李維大師的一些講座,那時是第一次聽到「單元測試」,他勸我們要使用,他的說法是,若你要將程式佈署到不同平台,你怎麼知道程式都沒有問題?
因為那講座是 Delphi / C++Builder ,是可以把程式佈署在 Windows , Mac , iOS , Android。
以前總是自己隨手在程式中寫一些測試程式,一個副程式測試成功,測試的部份就刪除了,長久以來都是這樣。
手邊正在改寫一個程式,有跨平台的需求,近來想到此事,就動手寫單元測試,這樣的好處是,未來將程式移到 mac 或其他平台時,就可以直接進行測試,應該可以減少一些平台不相容的隱藏性錯誤。
其實單元測試有許多現成的工具,不過我用的 Code::Blacks 剛好沒有(因為要寫跨平台,所以沒有用 C++ Builder),又懶得另外找,而且跨平台之後會不會有同樣的工具也不知道,就自己動手寫簡單的版本。
底下是很簡單的一個概念,大致可以看出它的原理,我實際寫的比較物件化、模組化一點,網路上也可以找到一些相關資料,這些讓有需要的人參考參考了。
int main() { if(RUN_TEST) { runtest(); return 0; } // main program.... } // 主要的單元測試 void runtest() { int i = add(3,4); if (i==7) printf("add (3,4) OK"); else printf("add (3,4) fail"); } // 待測的副程式 int add(x,y) { return (x+y); }
重要度:
文章分類:
- 瀏覽次數:10612
發表新回應