### Question:
JdbcPipeline extends AbstractPipeline { @Override public PipelineResult asTextFile(String clusterPath, String deliminator) { ResultSet resultSet = establishStatement(); return new JdbcPipelineResult.TextPipelineResult( new JdbcResultSetIterator<>(resultSet), clusterPath, deliminator); } JdbcPipeline(QueryProcedure procedure,
        List<String> tableNames,
        SqlRunner.Builder builder); @Override void run(); static Connection createSpecificConnection(String json, List<String> parsedTables); static Connection createSpecificConnection(List<SchemaAssembler> assemblers); static Connection createCsvConnection(); @Override Object collect(); @Override void show(); @Override PipelineResult asTextFile(String clusterPath, String deliminator); @Override PipelineResult asJsonFile(String clusterPath); @Override AbstractPipeline asTempTable(String tempTableName); @Override void shutdown(); static final String CSV_DEFAULT_SCHEMA; }### Answer:
@Test public void testTextFile() { String sql = "select 1"; SqlRunner.Builder.RunnerType runnerType = RunnerType.DEFAULT; SqlRunner runner = SqlRunner.builder() .setTransformRunner(runnerType) .setSchemaPath(SqlUtil.getSchemaPath(SqlUtil.parseTableName(sql).tableNames)) .setAppName("test virtual") .setAcceptedResultsNum(2000) .ok(); runner.sql(sql).asTextFile("", ""); }