みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

[単体テスト] static関数のstub

以下の構成の関数Bをテストしようとしています。

[xxx.c]---------
A() {
B();
}
----------------
[yyy.c]---------
B() {
C();
}

static C() {
}
----------------

テスト対象がBのため、driverAとstubCを作成しました。
また、本体xxx.c, yyy.cは共有ライブラリにしているため、A関数・C関数とも名前衝突は起きません。
期待するコールとしては、A(driver)→B(ライブラリ)→C(stub)です。
しかし現状A(driver)→B(ライブラリ)→C(ライブラリ)となってしまいます。

これは、C関数がstaticな為、ビルド時にstubではなくライブラリを優先してリンクしてしまうからだと思います。(そもそもライブラリしか探索しないのか。。。)

本体のソースコードに手を加えず、A(driver)→B(ライブラリ)→C(stub)のテストを行う方法はありますでしょうか。

※環境
linuxのgcc

ご教授宜しくお願いいたします。

投稿日時 - 2011-09-07 21:36:59

QNo.6996272

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

>本体のソースコードに手を加えず、A(driver)→B(ライブラリ)→C(stub)のテストを行う方法はありますでしょうか。

残念でしょうけど、ありません。

投稿日時 - 2011-09-07 22:02:01

あなたにオススメの質問