私のサービス(ClassUnderTest
)クラスのユニットテストを書いています。すべてのデータメンバーに@Mock
を使用しています。ClassUnderTestのInjectMocksのメリット
ClassUnderTest
をテストするには、ClassUnderTest
のオブジェクトを作成する必要があります。
私には2つのオプションがあります ClassUnderTest
の新しいオブジェクトを作成し、コンストラクタでモックを送信します。
ClassUnderTest
には@InjectMocks
注釈を使用してください。
私は、2つのアプローチが同じであるか、または@InjectMocks
を使用することのいくつかの注意の利点があるのだろうかと疑問に思っていましたか?
@Mock
private NodeLaunchWorkflowService nodeLaunchWorkflowService;
@InjectMocks
private NodeLaunchWorkflowController nodeLaunchWorkflowController;
または
@Mock
private NodeLaunchWorkflowService nodeLaunchWorkflowService;
private NodeLaunchWorkflowController nodeLaunchWorkflowController;
@Before
public void setUp() throws JSONException {
MockitoAnnotations.initMocks(this);
nodeLaunchWorkflowController = new NodeLaunchWorkflowController(nodeLaunchWorkflowService)
}