私はMockitoに慣れようとしています。
クラスがあります
@Provider
public class SessionProvider implements InjectableProvider<Bind, Type>{
@Override
public ComponentScope getScope() {
return ComponentScope.PerRequest;
}
@Override
public Injectable getInjectable(ComponentContext ic, Bind bind, Type parameter) {
return new SessionInjectable();
}
}
getInjectable が呼び出されたときに null を返そうとしています。
私のユースケースはそうです
public void addProvider(Class<?> klass) {
providers.add(klass);
}
addProvider(SessionProvider.class);
SessionProvider.class を正常にモックするにはどうすればよいですか?
ありがとう
編集:
私のクラスは次のようになります:
@Path("message")
@Produces(MediaType.APPLICATION_JSON)
public class MessageResource {
@POST
@Path("post")
public String testPostMessage(@Bind Session session, Message message) {
return "posted";
}
}
バインド アノテーションは私のプロバイダーを使用しています。しかし、私の現在のフレームワークは、SessionProvider のインスタンスを受け入れません。Class インスタンスを利用しています。
ちなみにこれはWebサービスです。クライアントの実装によって呼び出されます。モックセッションでメッセージをテストしたいと思います。そして、リクエストごとに新しいものがリクエストされます。これが、メソッドがセッション インスタンスではなくセッション クラスを受け入れる理由です。
私は本当に何かがおかしいと感じ始めましたが、どこで?
ありがとう