Mockito フレームワークにおける@Mock
との違いは何ですか?@InjectMocks
ベストアンサー1
@Mock
モックを作成します。@InjectMocks
クラスのインスタンスを作成し、@Mock
(または@Spy
) アノテーションを使用して作成されたモックをこのインスタンスに挿入します。
これらのモックを初期化して挿入するには、@RunWith(MockitoJUnitRunner.class)
または を使用する必要があることに注意してください(JUnit 4)。Mockito.initMocks(this)
JUnit 5 では、 を使用する必要があります@ExtendWith(MockitoExtension.class)
。
@RunWith(MockitoJUnitRunner.class) // JUnit 4
// @ExtendWith(MockitoExtension.class) for JUnit 5
public class SomeManagerTest {
@InjectMocks
private SomeManager someManager;
@Mock
private SomeDependency someDependency; // this will be injected into someManager
// tests...
}