問題タブ [cpputest]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - CppUTestでMockSupportPluginを使用してcheckExpectationsを自動的に実行するには?
CppUTestのドキュメントによると
MockSupportPlugin を使用すると、モックの操作が簡単になります。次の作業を自動的に行います。
- すべてのテストの最後に checkExpectations (グローバルスコープで、すべてのスコープで再帰的になります)
- すべてのテストの終わりにすべての期待をクリアする
- すべてのテストの開始時にプラグインで構成されたすべてのコンパレーターをインストールします
- すべてのテストの最後にすべてのコンパレータを削除します
参照: https://cpputest.github.io/plugin_manual.html
次の例を試しました。
追加された MYDummyComparator で:
しかし、テストから expectOneCall() または expectNCalls() を削除すると、テストが失敗したことが示されます。CPPUTest の MockSupportPlugin を使用して、「すべてのテストの最後に (グローバル スコープで、すべてのスコープで再帰的になる) checkExpectations」を自動的に実行するにはどうすればよいですか?
c++ - CppUTest オーバーライド ヘッダー ファイル
単体テストを学んでいます。Eclipse と CppUTEST で簡単にプログラムをコンパイルできます。できます。ただし、ヘッダーファイルをオーバーライド/スタブする方法を理解するのに問題があります。テストシナリオを思いついたのですが、
私のファイル:
理論的には、ファイル "src.h" には、ネイティブ コンパイラ (stm-gcc) の設定が格納されます。私のテスト コンパイラ (gcc) はこれらの依存関係を使用できないため、このヘッダー ファイルをオーバーライド/スタブする必要があります。そのため、/mocks/fsrc.h ファイルを作成します。fsrc.h は src.h ファイルをオーバーライド/スタブする必要があります。
サンプル ファイル コード:
すべてのテスト:
Test_src.cpp
モック/fsrc.h
モック/fsrc.c
src/src.h
src/src.c
日食エラー:
'g++ -I"C:\cygwin64\home\karb\cpputest\include" -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"AllTests.d" -MT"AllTests.o" -o "AllTests.o" "../AllTests.cpp" ../AllTests.cpp:5:10: 致命的なエラー: src/src.h: そのようなファイルまたはディレクトリはありません'
私が変更するとき:
コンパイルは機能しますが、ヘッダー ファイルの上書きは機能しません。メインヘッダーファイルを上書きできないというのは、何が間違っていますか?