Skip to Content

一些簡單的單元測試概念

 
去年聽了李維大師的一些講座,那時是第一次聽到「單元測試」,他勸我們要使用,他的說法是,若你要將程式佈署到不同平台,你怎麼知道程式都沒有問題?
 
因為那講座是 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);
}

回應

發表新回應

這個欄位的內容會保密,不會公開顯示。
  • 自動將網址與電子郵件地址轉變為連結。
  • 自動斷行和分段。
  • 可使用的 HTML 標籤:<a> <address> <b> <blockquote> <br> <caption> <center> <cite> <code> <dd> <del> <div> <dl> <dt> <em> <h1> <h2> <h3> <h4> <h5> <h6> <hr> <i> <img> <ins> <li> <ol> <p> <pre> <span> <strike> <strong> <sub> <sup> <table> <tbody> <td> <th> <tr> <u> <ul>
    Allowed Style properties: background, background-attachment, background-color, background-image, background-position, background-repeat, border, border-bottom, border-bottom-color, border-bottom-style, border-bottom-width, border-collapse, border-color, border-left, border-left-color, border-left-style, border-left-width, border-right, border-right-color, border-right-style, border-right-width, border-spacing, border-style, border-top, border-top-color, border-top-style, border-top-width, border-width, bottom, caption-side, clip, color, direction, empty-cells, font, font-family, font-size, font-size-adjust, font-stretch, font-style, font-variant, font-weight, height, left, letter-spacing, line-height, list-style, list-style-image, list-style-position, list-style-type, margin, margin-bottom, margin-left, margin-right, margin-top, max-height, max-width, min-height, min-width, overflow, padding, padding-bottom, padding-left, padding-right, padding-top, right, table-layout, text-align, text-decoration, text-indent, text-transform, top, unicode-bidi, vertical-align, white-space, width, word-spacing, z-index

更多關於格式選項的資訊

CAPTCHA
驗證碼只有阿拉伯數字, 這是躲廣告用的, 麻煩你輸入了.
Image CAPTCHA
Enter the characters shown in the image.


story | about seo