私は春(Javaの1.8)でmockitoを使用していますし、私は私の答えオブジェクト内のローカル変数を使用しようとしています:Mockitoローカル変数
public IProductDTO productForMock = null;
@Bean
@Primary
public ICouchbaseDTOProvider mockCreateProductDelegate() {
CouchbaseDTOProvider mockService = mock(CouchbaseDTOProvider.class);
Mockito.when(mockService.get(anyString(), ProductDTO.class)).thenReturn((IBaseCouchbaseDTO) productForMock);
Mockito.when(mockService.getEnvironment()).thenReturn(null);
Mockito.when(mockService.insert((IBaseCouchbaseDTO) anyObject())).thenAnswer(
new Answer<IProductDTO>() {
@Override
public IProductDTO answer(InvocationOnMock invocation) throws Throwable {
productForMock = invocation.getArgumentAt(0, IProductDTO.class);
return null;
}
}
);
return mockService;
}
しかし、私はこのエラーを取得しています:
This exception may occur if matchers are combined with raw values:
//incorrect:
someMethod(anyObject(), "raw String");
When using matchers, all arguments have to be provided by matchers.
For example:
//correct:
someMethod(anyObject(), eq("String by matcher"));
約3つのステップをバックアップします。なぜあなたは擬似としてBeanを作成していますか? – Makoto