1
私はMockitoを初めて使用しているので、クラス内にメソッドをモックするにはどうすればいいですか?実際には@Mock
という注釈も付けられています。@Mockクラスのモックフィールド
例:
@RunWith(MockitoJUnitRunner.class)
public class someServiceTest {
@InjectMocks
private MainService mainService;
@Mock
private HelpService helpService;
@Mock
private SecondHelpService secondHelpService;
今MainService
をテストするために使用される方法を含み、このhelpService
クラスがあります。
@Service
@Transactional(propagation = Propagation.SUPPORTS)
public class HelpService {
// I want this method to be mocked
private boolean checkSomething(String name, date) {
return ProcessService.checkIfJobHasRun(name, date);
}
私はsomeServiceTest
でProcessService
@Mock
を追加することで、同様HelpService
に@InjectMocks
を使用しようとしましたが、Mockitoはそれを許可していません。その結果、私はNullPointerException
を投げます。どうすれば修正できますか?
あなたがプライベートまたはローカルメソッド – pvpkiran
を模擬するためにPowerMocksを使用する必要がありますテスト中のクラス? SomeServiceはそのメソッドを直接呼び出すことはできません。プライベートメソッドへの呼び出しを含むヘルプサービスのpublicメソッドを偽装します。 –
これは余分なライブラリを意味します。メソッドを公開することもできます。しかし、私はそれを嘲笑する方法を理解していない – Omaja7