void 메소드를 내부적으로 호출하는 메소드를 테스트하려고합니다.mockito를 사용하여 private void 메소드를 호출하는 메소드 테스트하기
아래 코드
public String process(MKSConnectionParams mksConnectionParam, IProgressMonitor progressMonitor) throws Exception {
if (null != progressMonitor) {
progressMonitor.beginTask("Starting the creation of report", 100);
}
if (null == mksConnectionParam) {
initialize(MksLibFactory.getDefault());
}
else {
initialize(mksConnectionParam, MksLibFactory.getDefault());
}
--------------
}
public void initialize(MKSConnectionParams mksConnectionParam, IMksLibrary mksLibDefault) throws Exception {
paramMKSConnectionParams = mksConnectionParam;
GlobalConstants.hostName = paramMKSConnectionParams.hostname;
GlobalConstants.port = String.valueOf(paramMKSConnectionParams.port);
try {
localISi = mksLibDefault.getSi(paramMKSConnectionParams);
localIIm = mksLibDefault.getIm(paramMKSConnectionParams);
}
catch (MksLibException | AuthenticationError e) {
throw e;
}
ProjectInfo prjInfo = localISi.getProjectInfo(pathToPj);
projRevCmd = prjInfo.getConfigPath().getConfigPath() + "#b=" + projectRevision;
}
나는 과정() 메소드 mockito 테스트 케이스를 작성 중입니다. initialize(mksConnectionParam, MksLibFactory.getDefault())
이 호출되면 테스트가 실패합니다. 그 과정에서 우리는 실제 mks 연결을 호출하고 있으며 더미 사용자 이름과 암호를 전달하고 있기 때문입니다. 이 초기화 메소드를 조롱 할 수 없습니다. 이 일을 할 수있는 방법이 있습니까?
작은 의사 코드는 큰 도움이 될 것입니다.
앞서 방법을 private
으로 초기화했습니다. public
으로 변경하면 어떤 차이가 있습니까?