私はテスト駆動型の C 開発に取り組み始めています。
次のようなコマンドを実行して、CMock を使用してモック クラスを生成しました。
ruby cmock.rb ../../../src/util.h
私の現在のパッケージ構造は次のとおりです。
app/root
| bin
| *.*
| build
| *.*
|- cmake
|- modules
|- CodeCoverage.cmake
|- coverage
|- *.*
|- external
|- Unity
|- CMock
|- CMakeLists.txt
|- src
|- *.c
|- *.h
|- CMakeLists.txt
|- mocks
|- *.c
|- *.h
|- CMakeLists.txt
|- tests
|- *.c
|- *.h
|- CMakeLists.txt
|- CMakeLists.txt
src をライブラリとしてコンパイルするための CMakeLists.txt セットアップがあります。
add_library(app SHARED ${SOURCE_FILES})
テストは、実行可能ファイルとしてコンパイルするようにセットアップされています。
add_executable(tests ${TEST_SOURCES})
target_link_libraries(tests app Unity mocks)
そして、モックはライブラリとしてコンパイルするようにセットアップされています:
add_library(mocks ${MOCK_SOURCES})
target_link_libraries(mocks app Unity CMock)
モックヘッダーの複数の場所を試して遊んでいますが、複数の定義エラーが発生しないようにする方法の基本がありません。
私のファイル構造または戦略のどこが間違っているかについて、誰かがガイダンスを提供できますか?