我试图表明问题,但结果变得更糟了。我们来看一段复杂的代码。
我正在调用一个函数,如下所示:
mySchedule(config, actorSystem.scheduler.schedule) {
...
}
该函数的定义如下:
def mySchedule(config: MyConfig, cb: (FiniteDuration, FiniteDuration) => (=> Unit) => Cancellable)(f : => Unit) = {
val initialDelay = ...
val interval = ...
cb(initialDelay, interval)(f)
}
为了进行测试,我愿意做类似以下的事情:
def noop: Unit = {}
val promiseSchedule = Promise[(FiniteDuration, FiniteDuration, => Unit)]()
mySchedule(
config,
{... promiseSchedule.success((initialDelay, interval, f))}
)(noop)
promiseSchedule.future.value must be_==(...)
我该如何使这个工作起来?
Unit => Unit
而不是Unit
。 - DimaUnit => Unit
,而是要变成() => Unit
。 第一个是接受一个无用参数的Function1[Unit,Unit]
,而第二个是无参函数的Function0[Unit]
。 - ghik