Guice和JMockit似乎相处得不好.
下面的测试抛出GenericSignatureFormatError。为什么?
@RunWith(JMockit.class)
public class GuiceAndJMockitTest {
public interface Foo {
}
@Test
public void guiceAndJMockitGetAlong(@Mocked final Foo foo) {
Guice.createInjector(new AbstractModule() {
@Override
protected void configure() {
bind(Foo.class).toInstance(foo);
}
});
}
}谢谢
JMockit 1.13
Guice 3.0
发布于 2015-01-16 17:16:02
这似乎是由于实现给定接口的JMockit生成的类中存在一些无效的“泛型信息”。因此,显然是JMockit中的一个bug;我将对此进行调查。
但是,如果您想模拟实现接口并由Guice注入的对象,我建议使用@Capturing而不是@Mocked。这样,实现声明的模拟类型的任何类也会被模拟。而且不需要创建特定于测试的Guice注入器;只需使用与生产相同的Guice模块即可。
https://stackoverflow.com/questions/27972352
复制相似问题