c++

一些簡單的單元測試概念

 
去年聽了李維大師的一些講座,那時是第一次聽到「單元測試」,他勸我們要使用,他的說法是,若你要將程式佈署到不同平台,你怎麼知道程式都沒有問題?
 
因為那講座是 Delphi / C++Builder ,是可以把程式佈署在 Windows , Mac , iOS , Android。
 
以前總是自己隨手在程式中寫一些測試程式,一個副程式測試成功,測試的部份就刪除了,長久以來都是這樣。
 
手邊正在改寫一個程式,有跨平台的需求,近來想到此事,就動手寫單元測試,這樣的好處是,未來將程式移到 mac 或其他平台時,就可以直接進行測試,應該可以減少一些平台不相容的隱藏性錯誤。
 
其實單元測試有許多現成的工具,不過我用的 Code::Blacks 剛好沒有(因為要寫跨平台,所以沒有用 C++ Builder),又懶得另外找,而且跨平台之後會不會有同樣的工具也不知道,就自己動手寫簡單的版本。
 
重要度:
文章分類:
電腦標籤:

如何判斷磁碟機是硬碟、光碟或隨身碟

判斷磁碟的型態,可以知道磁碟機是硬碟、光碟、隨身碟、遠端網路磁碟及記憶體虛擬磁碟。
    AnsiString Drive = "C:";
    AnsiString Type;
    int i = GetDriveType(Drive.c_str());
    switch (i)
    {
        case  0 :
        case  1 :                     // 未知的,不存在的
            Type = "DRIVE_UNKNOWN";
            break;
        case  DRIVE_REMOVABLE  :      // 可移除的裝置,例如 USB 隨身碟,軟碟機
            Type = "DRIVE_REMOVABLE";
            break;
        case  DRIVE_FIXED      :      // 不可移除的裝置,像硬碟
            Type = "DRIVE_FIXED";
            break;
        case  DRIVE_REMOTE     :      // 遠端磁碟,例如網路磁碟機
            Type = "DRIVE_REMOTE";
            break;
        case  DRIVE_CDROM      :      // 光碟機
            Type = "DRIVE_CDROM";
            break;
        case  DRIVE_RAMDISK    :      // 記憶體虛擬磁碟
            Type = "DRIVE_RAMDISK";
            break;
    }
    ShowMessage(Drive + Type);
重要度:
文章分類:
電腦標籤:

頁面

訂閱 c++