[英]C unit testing functions
在C或C ++中,如果我有一個具有以下結構的程序:
..includes..
..defines..
void function_one(int i) {
...
}
void function_two(const char * str) {
...
}
int main(int argc, char *argv[]) {
...
}
保存為main.c/cpp
。
如何編寫一個新文件test.c/cpp
,可以在其中調用main.c/cpp
的函數?
我現在如何做:
編譯器標志: -etest_main
要編譯的文件: main.c test.c
運行測試輸出: Blank no errors
我的測試主文件顯示“此處”,但我不確定為什么測試可執行文件不存在。
您無法輕松地測試與main
功能位於同一編譯單元中的功能。
可能的解決方案:
將您的main.{c/cpp}
拆分為兩個源文件(編譯單元)。 一個文件應僅包含main
功能,另一個文件應包含所有其他功能。 在進行單元測試時,只需不要鏈接包含單個main函數的編譯單元。
或者,在為單元測試進行編譯時,請使用宏來排除main
功能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.