エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
C言語のテストでスタブ関数を使うためのアイデア - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
C言語のテストでスタブ関数を使うためのアイデア - Qiita
TL;DR teratilのこのスレをまとめたものです。 マクロのトークン連結演算子(##)を使って関数名にソー... TL;DR teratilのこのスレをまとめたものです。 マクロのトークン連結演算子(##)を使って関数名にソースファイル上の行数を付加することで、定義されている既存関数が呼ばれないようにします。 背景 既存のソースに対してテストプログラムを書く必要があり、異常系の確認のために関数をスタブに置き換えたいという状況がありました。 オブジェクト指向的な言語ではDI(Dependency Injection)というデザインパターンとしてコード例も簡単に見つかりますが、C言語での書き方はすぐに見つけられず、しばらくハマってしまいましたので共有したいと思います。 特に下記のような状況では有用ではないかと思います。 既存ソースは変更できない 置き換えたい関数が内部関数として同じファイルから呼び出されている アイデアの概要 基本的なアイデアは、既存関数を別名に置き換え、テストプログラム中のスタブを呼び出