我必須爲我的單元測試導致bad_alloc(基本上,對於100%的代碼覆蓋率,我無法更改某些函數)。我該怎麼辦?
這是我的代碼示例。我必須在這裏導致bad_alloc。如何導致bad_alloc
bool insert(const Value& v) {
Value * new_value;
try {
new_value = new Value;
}
catch (std::bad_alloc& ba){
std::cerr << "bad_alloc caught: " << ba.what() << std::endl;
return false;
}
//...
//working with new_value
//...
return true;
};
嘗試分配大的離譜陣列的價值。 –
@AnonMail問題是,如果沒有bad_alloc,我只需要一個值。 –
你正試圖做一個單元測試的壓力測試。通常不建議使用這種方法,而且,如果不添加某些代碼,至少使用編譯器指令(如#ifdef TEST_3等)就很難實現。 –