Scalatest ExecutionContext
我想知道我应该在Scalatest ExecutionContext,scala,future,scalatest,scalamock,Scala,Future,Scalatest,Scalamock,我想知道我应该在scalatest%2.2.6上使用哪个ExecutionContext来运行我的未来和mock的未来 class-Foo{ def foo:Future[String]=Future.successful(“B”) } 类栏(foo:foo){ 定义栏:Future[String]=foo.foo() } 类MyTest扩展了WordSpec{ 隐式val ec:ExecutionContext=???/…全局?为什么是全局?为什么不是? val myMock=mock[Foo
scalatest%2.2.6
上使用哪个ExecutionContext
来运行我的未来和mock的未来
class-Foo{
def foo:Future[String]=Future.successful(“B”)
}
类栏(foo:foo){
定义栏:Future[String]=foo.foo()
}
类MyTest扩展了WordSpec{
隐式val ec:ExecutionContext=???/…全局?为什么是全局?为什么不是?
val myMock=mock[Foo]
val myBar=新条(myMock)
“…”在{
(myMock.foo).expected(*)returning(Future.successful(“A”))
whenReady(myBar.bar())(u应该是“A”)
}
}
只需导入scala.concurrent.ExecutionContext.Implicits.global
,这将加载默认的ExecutionContext
,以便测试中未来的对象正常工作
注意:如果在测试中使用期货,则可以使用全局隐式。对于实际项目,考虑使用<代码>执行上下文> /代码>每种情况。