亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何測試靜態功能

如何測試靜態功能

智慧大石 2019-10-21 10:06:56
在將單元測試應用于某些C代碼時,我們遇到一個問題,即在不修改源代碼的情況下,無法在測試文件中調用某些靜態函數。有沒有簡單或合理的方法來解決此問題?
查看完整描述

3 回答

?
收到一只叮咚

TA貢獻1821條經驗 獲得超5個贊

我有一個測試裝置。在嚴重的情況下-像嘗試測試靜態函數一樣,我使用:


#include "code_under_test.c"

...test framework...

也就是說,我將包含測試功能的整個文件包含在測試工具中。這是萬不得已的方法-但行得通。


查看完整回答
反對 回復 2019-10-21
?
不負相思意

TA貢獻1777條經驗 獲得超10個贊

您能否提供有關為什么無法調用該函數的更多信息?


由于它是.c文件專用的,因此不可用嗎?如果是這樣,最好的選擇是使用條件編譯,該條件編譯允許訪問該函數,以便允許其他編譯單元訪問它。例如


SomeHeaderSomewher.h


#if UNIT_TEST

#define unit_static 

#else

#define unit_static static

#endif

oo


#if UNIT_TEST

void some_method

#endif

Foo.cpp


unit_static void some_method() ...


查看完整回答
反對 回復 2019-10-21
  • 3 回答
  • 0 關注
  • 719 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號