CPPUnit を使用して C コードの単体テストを行っています。
テストするコードには、h ファイルではなく c ファイルにいくつかの定義があります。そのため、コード内の他の場所からはアクセスできません。定義の多くは、配列のサイズを設定するために使用されます。
単体テストを行うときは、最終リリースの前に定義が変更されても機能するように、可能な限り動的にしたいと考えています。配列を使用して関数を通過するためのループやものをいくつか作成したので、配列などにエントリがあるのと同じ回数テストします。しかし、今までは単体テスト コードで定義のコピーを使用していました。したがって、テストするコードで定義が変更されても、単体テスト コードでは変更されません。
したがって、私の主な質問は、単体テストの使用に合わせて元のソースコードを変更せずに、何らかの方法で定義をグローバルまたは何かにするために、単体テストの目的だけに使用するトリックがあるかどうかです。多分コンパイラの設定?(私はビジュアルスタジオ2008を使用しています)。