首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >finatra/examples/twitter-clone:测试firebase客户端

finatra/examples/twitter-clone:测试firebase客户端
EN

Stack Overflow用户
提问于 2017-02-18 19:29:49
回答 1查看 212关注 0票数 0

twitter-clone示例中,定义了以下firebase客户端:

代码语言:javascript
复制
@Singleton
class FirebaseClient @Inject()(
  httpClient: HttpClient,
  mapper: FinatraObjectMapper) {

// ...

}

我想写一个使用这个类的测试。我的问题是,我不能在我的测试代码中简单地实例化这个类的变量:

代码语言:javascript
复制
class FirebaseClientTest extends ??? {
    val firebaseClient: FirebaseClient = new FirebaseClient(???, ???)
}

因为我不知道HttpClientFinatraObjectMapper的实例是如何在生产代码中实际创建的。我可以尝试手动创建这些对象,但这会添加我想要避免的样板。

我如何通过Finatra中使用的依赖注入机制的魔力来获得FirebaseClient的实例?

EN

回答 1

Stack Overflow用户

发布于 2017-02-20 07:06:28

这个问题的答案在finatra-users组中有详细介绍。为了完整起见,我在这里总结一下。

基本上,需要注入依赖项的实例可以通过使用TestInjector类获得。对于手头的问题,可以通过如下方式获取FirebaseClient实例:

代码语言:javascript
复制
class FirebaseClientTest extends SomeClassOfATestFramework {

    val injector = TestInjector(FirebaseClientModule)

    val firebaseClient: FirebaseClient = injector.instance[FirebaseClient]
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42314554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档