我正在尝试覆盖几个注入以使用特定的测试模块进行测试。这对于像这样的真正单身人士来说效果很好:
...custom module...
bind(SomeClass.class).toInstance(instanceOfMockedClass);
...
现在,当ContextSingletons
需要被覆盖时,这会带来问题。像上面那样做同样的事情显然会为所有上下文(服务、活动)注入相同的实例,其中一个单独的实例本来是正确的。我试图绕开我的脑袋,ContextScopedProvider
但找不到在bind(...).toProvider(...)
构造中实际使用它的方法,因为这个类本身并没有实现 Guice 的Provider<T>
接口。
如何做到这一点?
(也在https://groups.google.com/forum/?fromgroups=#!topic/roboguice/MnWGrHFDOsQ上询问)