深入探究 Rx 查询与操作符的测试
1. 测试 Rx 查询的基础
在 Rx 编程中,测试是确保代码质量的关键环节。以 MachineMonitor
类为例,它的构造函数接收三个参数: IConcurrencyProvider
、 ITemperatureSensor
和 IProximitySensor
。以下是其构造函数的代码:
public MachineMonitor(
IConcurrencyProvider concurrencyProvider,
ITemperatureSensor temperatureSensor,
IProximitySensor proximitySensor)
{
_concurrencyProvider = concurrencyProvider;
_temperatureSensor = temperatureSensor;
_proximitySensor = proximitySensor;
}
在这个 MachineMonitor
类的实现中, MaxAlertBurstTime
属性被设置为 5 秒, MinAlertPause
属性被设置为 1 秒。如果两个通知在不到 1 秒的时间内产生,会丢弃后一个通知;但如果有更多通知在彼此接近的时间产生,且超过了 5 秒,就会发出另一个通知。