### Question:
DataxTask extends AbstractTask { public String[] tryExecuteSqlResolveColumnNames(BaseDataSource baseDataSource, String sql) { String[] columnNames; sql = String.format("SELECT t.* FROM ( %s ) t WHERE 0 = 1", sql); sql = sql.replace(";", ""); try ( Connection connection = DriverManager.getConnection(baseDataSource.getJdbcUrl(), baseDataSource.getUser(), baseDataSource.getPassword()); PreparedStatement stmt = connection.prepareStatement(sql); ResultSet resultSet = stmt.executeQuery()) { ResultSetMetaData md = resultSet.getMetaData(); int num = md.getColumnCount(); columnNames = new String[num]; for (int i = 1; i <= num; i++ ) { columnNames[i - 1] = md.getColumnName(i); } } catch (SQLException e) { logger.warn(e.getMessage(), e); return null; } return columnNames; } DataxTask(TaskExecutionContext taskExecutionContext, Logger logger); @Override void init(); @Override void handle(); @Override void cancelApplication(boolean cancelApplication); String[] tryExecuteSqlResolveColumnNames(BaseDataSource baseDataSource, String sql); @Override AbstractParameters getParameters();  }### Answer:
@Test public void testTryExecuteSqlResolveColumnNames() throws Exception { }