0
私はcpputesを使用して、cコードの単体テストを実行しています。単体テスト環境内の静的関数の偽装/偽装
テスト中の私のソースコードでは、ユニットテスト環境から呼び出されたときに関数の "偽の"バージョンにリダイレクトされる静的関数があります。テスト中の
ソースコード:
私はこのようなsomethigを持っている、のは、言ってみましょう
void my_main()
{
read(int8 address);
}
となります。
static int8 read(int8 address)
{
return something;
}
単体テスト環境:
TEST(MY_TESTS, READ)
{
my_main();
}
ユニットテスト環境内my_main()を呼び出すとき、私は
読み取り(INT8アドレス)のコールをリダイレクトしたいと思います 〜:
int8 fake_read(int8 address)
{
//do_something
}
ここに正しい方法はありますか?私は依存関係の注入よりも関数ポインタでそれを試しましたが、うまくいきません。
一般的に、ファンクションコールまたは任意の機能性を疑似するために、モック関数は別のファイルに書き込まれ、メインドライバプログラムからインクルードされて呼び出されます。 私は__cpputest__がどのように動作するのか気づいていませんが、ランタイム中に環境変数を設定すると、そのenv varをメイン関数で読み取ることができ、呼び出される関数、つまり模擬関数または実数関数。 – Gaurav