我正在寫一塊簡單的C++類,並嘗試爲代碼提供單元測試用例。單元測試靜態函數的設計模式
的代碼很簡單,只要:
class Foo
{
static int EntryFunction(bool flag)
{
if(flag)
{
TryDownload();
}
else
{
TryDeleteFile();
}
return 0;
}
static void TryDownload()
{
// http download code
}
static void TryDeleteFile()
{
// delete file code
}
}
的問題是,根據UT的概念,我們不能在網絡連接上中繼。所以unittest不能真正運行下載代碼。我的最終目標是測試代碼路徑,例如:當傳入TRUE
時,下載代碼路徑應該命中,否則刪除邏輯應該命中。我想覆蓋這個類,所以下載和刪除功能可以重寫,只需設置一個標誌和noop,但功能是靜態的。
我想知道在這種情況下什麼是測試它的好方法?