我想正确测试Finagle Resolver。
让我们获取示例代码:
import com.twitter.finagle.{Addr, Address, Resolver}
import com.twitter.util._
class DummyResolver extends Resolver {
override val scheme: String = "sample"
override def bind(arg: String): Var[Addr] = {
val delegate = SomeFactory.fromArgs(arg).build()
Var.async(Addr.Pending: Addr)(u => addrOf(u)(delegate))
}
}
使用静态工厂会阻止我对旋转变压器进行单元测试。
据我所知,向Finagle提供解析器的唯一方法是将其声明为com.twitter.finagle.Resolver
中的META-INF/services
文件。因此,我不能自己提供实例。
鉴于这些限制,如何将解析器设计为:
delegate
,