web-dev-qa-db-ja.com

@ExtendWith(SpringExtension.class)と@ExtendWith(MockitoExtension.class)

私はmockitoでのjunitテストに@RunWith(MockitoJUnitRunner.class)を使用していました。しかし今、私はスプリングブートとJUnit 5で作業しています。
2つの注釈の違いは何ですか?
オブジェクトをモックするために@ExtendWith(SpringExtension.class)のみを使用できますか?

2
user11705123

春を含む場合

_@MockBean_などのテストでSpringテストフレームワーク機能を使用する場合は、@ExtendWith(SpringExtension.class)を使用する必要があります。非推奨のJUnit4 @RunWith(SpringJUnit4ClassRunner.class)を置き換えます

春を含まない場合

Mockitoを使用するだけで、Springを使用する必要がない場合、たとえば、_@Mock_/_@InjectMocks_アノテーションのみを使用する場合は、@ExtendWith(MockitoExtension.class)を使用します。 、不要なSpringの要素がたくさん読み込まれないため。非推奨のJUnit4 @RunWith(MockitoJUnitRunner.class)を置き換えます。

質問に答えるため

はい、@ExtendWith(SpringExtension.class)だけを使用できますが、テストにSpringテストフレームワーク機能を使用しない場合は、@ExtendWith(MockitoExtension.class)だけを使用することをお勧めします。

4
Troley