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(在全局范围内,在所有范围内递归)”?