Mockito を使用して単体テストを書いていますが、注入されたクラスのモックに問題があります。問題は、注入された 2 つのクラスが同じ型であり、それらの@Qualifier
注釈によってのみ区別されることです。単にモックしようとするとSomeClass.class
、そのモックは注入されず、そのオブジェクトはnull
テストに含まれます。これらのオブジェクトをモックするにはどうすればよいですか?
public class ProfileDAL {
@Inject
@Qualifier("qualifierA")
private SomeClass someClassA ;
@Inject
@Qualifier("qualifierB")
private SomeClass someClassB ;
//...various code, not important
}
@RunWith(MockitoJUnitRunner.class)
public class ProfileDALLOMImplTest {
@InjectMocks
private ProfileDALLOMImpl profileDALLOMImpl = new ProfileDALLOMImpl();
@Mock
private SomeClass someClassA;
@Mock
private SomeClass someClassB;
private SomeResult mockSomeResult = mock(SomeResult.class);
@Test
public void testSomeMethod() {
when(someClassA .getSomething(any(SomeArgment.class)).thenReturn(mockSomeResult);
Int result = profileDALLOMImpl.someTest(This isn't relevant);
}
}