1
由於我是Mockito的新手,我想知道,我怎樣才能模擬一個類中的方法,實際上也是用@Mock
註解的。@Mock類中的嘲笑字段
實施例:
@RunWith(MockitoJUnitRunner.class)
public class someServiceTest {
@InjectMocks
private MainService mainService;
@Mock
private HelpService helpService;
@Mock
private SecondHelpService secondHelpService;
現在有此helpService
類,其中包含一個方法,該方法用於測試MainService
。
@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);
}
我試圖用對HelpService
@InjectMocks
以及,通過增加someServiceTest
ProcessService
@Mock
,但它的Mockito不允許這樣。結果,它拋出了我NullPointerException
。我如何解決這個問題?
您需要使用PowerMocks嘲笑私人或本地方法 – pvpkiran
你爲什麼要嘲笑的依賴的私有方法正在測試的課程? SomeService無法直接調用該方法..模擬Helpservice的公共方法,其中包含調用私有方法 –
這意味着額外的庫。我也可以公開這個方法。但我不明白,我怎麼可以嘲笑它 – Omaja7