如何在單元測試中測試想要的編譯器錯誤?編譯器錯誤的單元測試
考慮代碼:
class ErrorTest
{
OtherClass& read_write() {
return other;
}
const OtherClass& read_only() const {
return other;
}
private:
OtherClass other;
};
我如何測試READ_ONLY()分配?這是非常重要的,應該堅決檢查,以正確生成編譯器錯誤:
ErrorTest test;
OtherClass other = test.read_only();
test.read_write() = other.modify();
test.read_only() = other.modify(); /* This should error */
好問題。我以前也想過。雖然從未真正找到好答案。當然你可以編寫一個腳本來嘗試編譯文件,並驗證錯誤代碼或其他東西,但這不是一個優雅的解決方案 – jalf 2009-07-13 22:29:54