#java #unit-testing #junit #concurrent.futures
Вопрос:
Я ищу указания и рекомендации о том, как я могу написать тест junit для метода обратного вызова прослушиваемых фьючерсов —
class Service {
public ResultSetFuture execute(Statement statement) {
ResultSetFuture results = super.execute(statement);
processCallBack(results);
return results;
}
private void processCallBack(ResultSetFuture resultSetFuture) {
// process callback on different thread
Futures.addCallback(resultSetFuture, new FutureCallback<ResultSet>() {
@Override
public void onSuccess(@Nullable final ResultSet result) {
// some logic
}
@Override
public void onFailure(@Nonnull final Throwable t) {
// some logic
}
}, this.futureCallBackExecutorService);
}
}
Более конкретно, напишите тесты JUnit для метода onSuccess и OnFailure при обратном вызове в другом потоке.