0

オブジェクトに関数を一時的に配置して(単純な単体テストを超えて) 代替機能をテストする必要がありますが、単体テストを実行するためmain()に関数をコメントアウトする必要があります。main()

#define _KEYWORD_これを自動的に行うための CxxTestはありますか?

4

1 に答える 1

2

CXXTEST_RUNNINGキーワードの定義に基づくコンパイラ ディレクティブを使用して、問題のあるコードをカプセル化する必要があります。

例えば:

class myClass {
  public:
    myClass () {}
};

#ifndef CXXTEST_RUNNING
int main (int argc, char *argv[]) {
  // Temporary runner. Typically deleted upon completion
  // of alternate functionality added later in the project.
}
#endif

この場合、CxxTest フレームワークを使用すると、main()関数は無視main()され、テスト フレームワークによって作成された関数が優先されます。それ以外の場合は、main()提供された関数が使用されます。

于 2012-11-29T18:47:34.060 に答える