Я пытаюсь создать тесты JUnit для своего приложения, но я продолжаю получать NullPointerException
. Мой метод заключается в установлении sh аутентификационного SFTP-соединения на основе ключей, и все эти строки sftp???
и als???
взяты из моего другого класса, где я получаю значения от application.properties
до @Value
.
* 1007. * Это класс и метод, который я пытаюсь проверить.
import static mypackage.static.alsFunctionId;
// Some more static imports here...
@Component
public class SftpConnection {
private Logging logger;
@Autowired
public SftpConnection(Logging logger) {
this.logger = logger;
}
public Session MakeConnectionByKey () {
try {
JSch jsch = new JSch();
Session session = null;
jsch.addIdentity(sftpPrivateKeyPath);
session = jsch.getSession(sftpUsername, sftpHostname, sftpPort);
session.setConfig(
"StrictHostKeyChecking", "no"
);
session.setConfig(
"PreferredAuthentications",
"publickey,keyboard-interactive,password");
session.connect();
if(session.isConnected()) {
return session;
} else {
System.out.println("NOT Connected!");
}
} catch (JSchException e) {
logger.WriteLog(alsPlatform, "INFO", alsProjectCode, alsFunctionId, alsTransactionId, alsOperationId, "SFTP_CONNECTION", e.getClass().getCanonicalName() + ": " + e.getMessage());
//System.err.println(e);
//return null;
}
return null;
}
}
Это метод тестирования.
private Session session;
private SftpConnection sftpConnection;
private Logging logger;
@Before
void setUp() throws Exception {
logger = new Logging();
sftpConnection = new SftpConnection(logger);
session = null;
}
@Test
public void shouldGetSession() throws JSchException {
session = sftpConnection.MakeConnectionByKey2();
assertThat(session.isConnected()).isTrue();
}
Кто-нибудь знает, откуда взялся NullPointerException
? Я пытался заменить все эти строковые переменные фактическими значениями String, но все равно не повезло.