/** 测试命令行->配置文件->默认值的优先级顺序 */ @Test public void testOptionsMix() throws Exception { String[] args; // 配置文件和命令行混合,级命令行优先 args = new String[] { "upload", "src/test/resources/test_data.txt", "test_table/ds='2113',pt='pttest'", "-record-delimiter=\t\t", }; ExecutionContext context = ExecutionContext.load("src/test/resources/test_config.ini"); DshipContext.INSTANCE.setExecutionContext(context); OptionsBuilder.buildUploadOption(args); assertEquals("charset not equal", "gbk", DshipContext.INSTANCE.get(Constants.CHARSET)); assertEquals( "FIELD_DELIMITER name not equal", "||", DshipContext.INSTANCE.get(Constants.FIELD_DELIMITER)); assertEquals( "RECORD_DELIMITER name not equal", "\t\t", DshipContext.INSTANCE.get(Constants.RECORD_DELIMITER)); assertEquals( "DISCARD_BAD_RECORDS name not equal", "true", DshipContext.INSTANCE.get(Constants.DISCARD_BAD_RECORDS)); assertEquals( "DATE_FORMAT_PATTERN name not equal", "yyyy-MM-dd HH:mm:ss", DshipContext.INSTANCE.get(Constants.DATE_FORMAT_PATTERN)); assertEquals( "NULL_INDICATOR name not equal", "NULL", DshipContext.INSTANCE.get(Constants.NULL_INDICATOR)); assertEquals("SCAN name not equal", "only", DshipContext.INSTANCE.get(Constants.SCAN)); }