1

是否有一种惯用的方法来测试状态超时。我的演员采用指定在不同状态下花费的持续时间的类型。一些类似的东西:

startWith(Off,_)    

when(Off, stateTimeout = Durations.OffDuration ) => Case Event(,_) goto(On) 

when(On, stateTimeout = Durations.OnDuration ) => Case Event(TurnOn,_) goto(Off)

我想测试一下 Off 是否确实转到 On ,反之亦然。

我可以做类似的事情:

val durations = new Durations(1 NanoSecond,1 Second)    
// get actor from system

thread.sleep(OffDuration) // 1 nanosecond of wait
assert(actor.StateName == On)

但是睡觉的呼唤感觉不对,我也在争分夺秒地选择“神奇的”持续时间值”

4

0 回答 0