私はいくつかの(あまりにも少ない)単体テストを持つコードの大規模なライブラリを持っています。ライブラリにコードを追加して、新しいコードの単体テストを作成しようとしています (将来、経験を積んだら、古いコードの単体テストも追加したいと考えています)。
現在、カスタムの (あまり精巧ではない) 単体テスト フレームワークを使用しています。に切り替えたいboost.test
です。
私のライブラリのレイアウトは次のとおりです。
mylib1 (300 ファイル、70000 行のコード)
- ソース
- ふー
- foo.cpp
- foo_part.cpp
- foo_part.h
- UnitTests -外に移動する必要があり
mylib
ますか?- foo_test1.cpp
- foo_test2.cpp
- foo_test3.cpp
- バー
- bar.cpp
- bar_part.cpp
- bar_part.h
- UnitTests -ここに属していますか?
- bar_test1.cpp
- bar_test2.cpp
- bar_test3.cpp
- ふー
- 含む
- foo.h
- bar.h
- ソース
mylib2 (70 ファイル、7000 行のコード)
- 上記の mylib1 のように見えます
UnitTestFramework
- ソース
- MockObject1.cpp -ここに属しますか?
- Asserter.cpp -
boost.test
置き換えます - TestFixture.cpp -
boost.test
置き換えます
- 含む
- MockObject1.h
- Asserter.h -
boost.test
置き換えます - TestFixture.h -
boost.test
置き換えます
- ソース
ここで次の質問をします。
- 単体テストは
mylib
DLL の一部であるべきですか?mylib1
(私はとmylib2
を 1 つの DLLにリンクします) - 単体テストのソース コードは
mylib1
ディレクトリの下に配置する必要がありますか? - 私は
mylib1
とを持っているのでmylib2
、対応する単体テストをどのように配置する必要がありますか?兄弟ディレクトリ、一緒など? - モック オブジェクトのソース コードはどこに置くべきですか? (彼らは と の両方を提供
mylib1
しますmylib2
)