13、测试驱动开发:从多事件调度到运行时绑定测试替身

测试驱动开发:从多事件调度到运行时绑定测试替身

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值