我有一个测试正在测试一个需要隐式 CustomExecutionContext 的类:
@Singleton
class MyRepo @Inject()
(appConfigService: AppConfigService)
(implicit ec: RepositoryDispatcherContext)
现在我需要测试这个类并在测试期间注入一个模拟调度程序上下文。最初,我正在考虑使用开箱即用的标准全局执行上下文。
implicit executionContext = scala.concurrent.ExecutionContext.Implicits.global
但是测试失败了,因为它需要另一种类型的实例:
找不到参数 ec 的隐式值:common.executor.RepositoryDispatcherContext
这是我的自定义执行上下文:
import javax.inject.{Inject}
import akka.actor.ActorSystem
import play.api.libs.concurrent.CustomExecutionContext
class RepositoryDispatcherContext @Inject()(actorSystem: ActorSystem) extends CustomExecutionContext(actorSystem, "repository.dispatcher")
想知道如何注入我的自定义执行上下文的模拟实例以用作我的 Test 类中的隐式参数?