单元测试中的Guice

时间:2016-12-25 07:45:58

标签: java testing guice

我通常不会在小型单元测试中使用Guice(1级测试),但随着单元变得越来越大,并且包含了一些以上的类,它将成为一个不错的选择。我的意思是,这不是正常意义上的单元测试。我测试了整个包装

问题是,最终我发现使用它有两个问题:

  1. 运行时间

    设置guice注入器需要很长时间,因此我的测试会变得更长。我目前正在设置方法中创建注入器,以便在每次测试中开始清理。

    我尝试将注射器创建移动到@BeforeClass并且它将运行时间缩短了3.但是现在我必须在每次测试后进行清理,因为有一些单例。

    还有其他方法让我的测试运行得更快吗?

    是否有使用共享状态管理测试的指南?

  2. 管理guice模块

    因为这个测试的目的是测试整个软件包,所以我希望它能像生产版一样连接,除了一些模拟和测试。我必须注入进行测试的假货。

    我尝试使用Modules.override()但遇到了一些问题。例如,无法覆盖实时绑定。

    所以我最后为测试编写了一个单独的模块,这意味着每次更改生产代码中的接线时都必须更改它

    知道怎么解决这个问题吗?

  3. 顺便说一句。我们正在使用Guice 3.0版

0 个答案:

没有答案