我目前正在使用另一個只有靜態函數的類的類。測試依賴於另一個類的靜態函數的類
一切工作正常,直到我嘗試測試我的課程。
這是問題的一個簡單的代碼例如:
class A {
static String getSometing() {
return String("Something: ") + heavyCalculation().asString();
}
}
class B {
B() {}
~B() {}
String runSomething(const String& name) {
if(name.equals("something")) {
return A::getSomething();
} else {
return "Invalid name!";
}
}
}
假設類A是否正常工作(並且已經被它的單元測試測試),我想檢查在類runSomething功能B.
我的第一選擇是創建內部類(在這個例子 - A類)嘲笑,但在這種情況下,它會給我沒什麼可從A繼承,因爲它只有靜態功能。
我的第二個選擇是封裝在內部B私有函數的類的調用,所以我可以控制自己的返回值(雖然選擇此選項將使好一點點更復雜)。
我對你的問題是:是否有更好的方法來測試C++類取決於比我目前的選擇靜態類/功能?
由於提前,
塔爾。
如果需要30秒來執行該靜態函數會怎麼樣? – 2010-11-02 08:41:25
@VJo:那麼你擔心解決這個問題。如果執行該功能需要0.0030秒,則您只需花費大量測試寫入時間。 – 2010-11-03 21:20:27