I try to test my service but I get a ClassCastException when injecting the service in the test class.
The service:
public class MyServiceImpl implements MyService {
private final UserInfoProvider userInfoProvider;
@Inject
public MyServiceImpl(final UserInfoProvider userInfoProvider) {
this.userInfoProvider = userInfoProvider;
}
}
The Test:
@RunWith(JukitoRunner.class)
public class MyServiceTest {
@Inject
MyService myService;
public static class Module extends JukitoModule {
@Override
protected void configureTest() {
bind(MyService.class).to(MyServiceImpl.class);
}
}
@Test
public void test() {
}
}
The Provider:
public class UserInfoProvider implements Provider<UserInfo> {
public UserInfo get() {
return new UserInfo();
}
}
The exception:
java.lang.ClassCastException: java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType
at org.jukito.JukitoModule.addKeyDependency(JukitoModule.java:338)
at org.jukito.JukitoModule.addInjectionPointDependencies(JukitoModule.java:330)
at org.jukito.JukitoModule.addDependencies(JukitoModule.java:313)
at org.jukito.JukitoModule.configure(JukitoModule.java:183)
at com.google.inject.AbstractModule.configure(AbstractModule.java:59)