CppUTestのドキュメントによると
MockSupportPlugin を使用すると、モックの操作が簡単になります。次の作業を自動的に行います。
- すべてのテストの最後に checkExpectations (グローバルスコープで、すべてのスコープで再帰的になります)
- すべてのテストの終わりにすべての期待をクリアする
- すべてのテストの開始時にプラグインで構成されたすべてのコンパレーターをインストールします
- すべてのテストの最後にすべてのコンパレータを削除します
参照: https://cpputest.github.io/plugin_manual.html
次の例を試しました。
#include "CppUTest/TestRegistry.h"
#include "CppUTestExt/MockSupportPlugin.h"
MyDummyComparator dummyComparator;
MockSupportPlugin mockPlugin;
mockPlugin.installComparator("MyDummyType", dummyComparator);
TestRegistry::getCurrentRegistry()->installPlugin(&mockPlugin);
追加された MYDummyComparator で:
class MyDummyComparator : public MockNamedValueComparator
{
bool isEqual( const void *object1, const void *object2 )
{
return object1 == object2;
}
SimpleString valueToString( const void *object )
{
return SimpleString();
}
} dummyComparator;
しかし、テストから expectOneCall() または expectNCalls() を削除すると、テストが失敗したことが示されます。CPPUTest の MockSupportPlugin を使用して、「すべてのテストの最後に (グローバル スコープで、すべてのスコープで再帰的になる) checkExpectations」を自動的に実行するにはどうすればよいですか?