我通常不会在小型单元测试中使用Guice(1级测试),但随着单元变得越来越大,并且包含了一些以上的类,它将成为一个不错的选择。我的意思是,这不是正常意义上的单元测试。我测试了整个包装
问题是,最终我发现使用它有两个问题:
运行时间
设置guice注入器需要很长时间,因此我的测试会变得更长。我目前正在设置方法中创建注入器,以便在每次测试中开始清理。
我尝试将注射器创建移动到@BeforeClass并且它将运行时间缩短了3.但是现在我必须在每次测试后进行清理,因为有一些单例。
还有其他方法让我的测试运行得更快吗?
是否有使用共享状态管理测试的指南?
管理guice模块
因为这个测试的目的是测试整个软件包,所以我希望它能像生产版一样连接,除了一些模拟和测试。我必须注入进行测试的假货。
我尝试使用Modules.override()但遇到了一些问题。例如,无法覆盖实时绑定。
所以我最后为测试编写了一个单独的模块,这意味着每次更改生产代码中的接线时都必须更改它
知道怎么解决这个问题吗?
顺便说一句。我们正在使用Guice 3.0版