cmockaライブラリを使用して、組み込みの c コードをテストしています。ドキュメントによると、__wrap_
プレフィックスを使用して関数をモックするので、単体テストを分離できます。ただし、これを行うと、関数へのすべての呼び出しは永遠にラップされた関数に移動します。特定の状況で実際の機能を再度有効にして、テストしたり、他の機能が使用できるようにしたりするにはどうすればよいですか? 唯一の方法は、グローバルフィールドをスイッチとして使用して実際の関数を次のように呼び出すことです。
int __wrap_my_function(void) {
if (g_disable_wrap_my_function) {
return __real_my_function();
}
// ... do mock stuff
}
それは正しい方法ですか?