测试驱动开发:从多事件调度到运行时绑定测试替身
1. 多事件调度的实现
1.1 扩展 LightControllerSpy
为了让调度器支持多个调度项,需要能够检查多个灯的状态,现有的 LightControllerSpy 无法满足这一需求。因此,对 LightControllerSpy 进行扩展,使其能够记录每个灯的状态。
// tests/HomeAutomation/LightControllerSpyTest.cpp
TEST(LightControllerSpy, RememberAllLightStates)
{
LightController_On(0);
LightController_Off(31);
LONGS_EQUAL(LIGHT_ON, LightControllerSpy_GetLightState(0));
LONGS_EQUAL(LIGHT_OFF, LightControllerSpy_GetLightState(31));
}
同时,在 LightControllerSpy 的头文件中添加新的访问器,以便检查任何灯的状态:
// tests/HomeAutomation/LightControllerSpy.h
int LightControllerSpy_GetLightState(int id);
int LightControllerSpy_Get
超级会员免费看
订阅专栏 解锁全文
2399

被折叠的 条评论
为什么被折叠?



