@Mockと@InjectMocksの違い 質問する

@Mockと@InjectMocksの違い 質問する

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...

}

おすすめ記事