0
我需要暫時將main()
函數放在我的對象中,以測試替代功能(超出簡單的單元測試),但我不得不將註釋掉我的main()
函數來運行我的單元測試。CXXTEST編譯器是否存在#define _KEYWORD_以排除代碼塊?
是否有#define _KEYWORD_
CxxTest允許這種情況自動發生?
我需要暫時將main()
函數放在我的對象中,以測試替代功能(超出簡單的單元測試),但我不得不將註釋掉我的main()
函數來運行我的單元測試。CXXTEST編譯器是否存在#define _KEYWORD_以排除代碼塊?
是否有#define _KEYWORD_
CxxTest允許這種情況自動發生?
您只需根據CXXTEST_RUNNING
關鍵字的定義,使用編譯器指令封裝有問題的代碼。
例如:
class myClass {
public:
myClass() {}
};
#ifndef CXXTEST_RUNNING
int main (int argc, char *argv[]) {
// Temporary runner. Typically deleted upon completion
// of alternate functionality added later in the project.
}
#endif
在這種情況下,使用CxxTest框架時main()
功能將有利於由測試框架創建的main()
的忽略。否則,將使用您提供的main()
功能。
很好的答案。我在CxxTest用戶手冊中添加了描述這個例子的文檔。 –