Jukitoを使用してDaoをモックしようとすると、次の例外が発生します。
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)
私がモックしようとしているオブジェクトはConcreteDao
です。
public class ConcreteDao extends AbstractDao<MyDomain> {
}
public abstract class AbstractDao<T extends DatastoreObject> {
}
このバインディングジェネリックに関するSOに関するいくつかの投稿を読みましたが、バインディングに使用する方法がわかりませんTypeLiteral
。
これは私が試したものです:
bind(new TypeLiteral<AbstractDao<MyDomain>>(){}).to(ConcreteDao.class);