アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちは

unittest コードはソースと別ファイルで管理するつもりですが、staticなc関数の場合、同ファイル内しかアクセスできないため、うまくできない。皆さんどのようにしているのでしょうか?

いくつかの方法が考えていますが完璧なものはない
1、#include xxx.c
  乱暴だが、うまくいくはず。っと思いきやstaticでない関数がいたりして。。。
2、ソースと一緒にunittestを書く
  まぁ、最後の手段だけどな
3、staticを取り除く
  いやですね、同名関数いるかもしれないし
4、Interfaceをつくる
  そこまで大げさとはな、短い関数だし

ちなみに c++の場合 friend を活用すればよいが。

A 回答 (1件)

ユニットテストのときだけ有効になる定数を定義しておき、


その定数が定義されているときはstaticが取り除かれるようにします。
    • good
    • 1
この回答へのお礼

#IF ですか。なるほど、ありがとうございました。
現在使っている方法は4番、インタフェース関数を作る方法です。たとえば関数
static int isABC(int a){...}  の場合
int unittest_isABC(int a){return isABC(a);} // unittest専用、目的以外使用禁止

とします。

お礼日時:2006/11/13 07:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!