gpt4 book ai didi

Scalatest ExecutionContext

转载 作者:行者123 更新时间:2023-12-04 08:41:32 27 4
gpt4 key购买 nike

我想知道哪个ExecutionContext我应该在 scalatest % 2.2.6 上使用(以及为什么)运行我的 future 并模拟 future 。

class Foo {
def foo: Future[String] = Future.sucessful("B")
}

class Bar(foo: Foo) {
def bar: Future[String] = foo.foo()
}

class MyTest extends WordSpec {

implicit val ec: ExecutionContext = ??? // ...global? Why global? Why not?

val myMock = mock[Foo]
val myBar = new Bar(myMock)

"..." in {
(myMock.foo _).expects(*).returning(Future.succesful("A"))
whenReady(myBar.bar())(_ shouldBe "A")
}
}

最佳答案

只需导入 scala.concurrent.ExecutionContext.Implicits.global这将加载默认 ExecutionContextFuture测试中的对象才能正常工作。

注意:对于在测试中使用 Futures 是可以的,全局隐式。对于实际项目,请考虑使用 ExecutionContext每个案例。

关于Scalatest ExecutionContext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40640055/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com