You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by du...@apache.org on 2020/12/28 13:24:45 UTC

[shardingsphere] branch master updated: Add DataSetLoader class (#8797)

This is an automated email from the ASF dual-hosted git repository.

duanzhengqiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new 1421291  Add DataSetLoader class (#8797)
1421291 is described below

commit 14212916e633d65fdffe183f9f0921c82b3c18bf
Author: Liang Zhang <te...@163.com>
AuthorDate: Mon Dec 28 21:24:15 2020 +0800

    Add DataSetLoader class (#8797)
    
    * Refactor SingleIT
    
    * Rename SingleIT.originalSQL to caseIdentifier
    
    * Add DataSetPathUtil.loadDataSet
    
    * Add DataSetPathUtil.loadDataSet
    
    * Private getPath
    
    * Rename DataSetLoader
    
    * Move DataSetLoader package
    
    * For code format
    
    * For code format
---
 .../ddl/DDLIntegrateTestCaseAssertion.java         |  4 ++-
 .../DataSetPathUtil.java => DataSetLoader.java}    | 26 +++++++++++++-----
 .../test/integration/engine/BatchIT.java           | 23 +++++++---------
 .../test/integration/engine/SingleIT.java          | 32 +++++++++-------------
 .../test/integration/engine/dcl/GeneralDCLIT.java  |  4 +--
 .../test/integration/engine/ddl/BaseDDLIT.java     | 29 ++++++++------------
 .../test/integration/engine/ddl/GeneralDDLIT.java  |  8 +++---
 .../test/integration/engine/dml/BaseDMLIT.java     | 19 ++++---------
 .../test/integration/engine/dml/GeneralDMLIT.java  |  4 +--
 .../test/integration/engine/dql/BaseDQLIT.java     | 19 ++++---------
 .../test/integration/engine/dql/GeneralDQLIT.java  |  4 +--
 11 files changed, 78 insertions(+), 94 deletions(-)

diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/cases/assertion/ddl/DDLIntegrateTestCaseAssertion.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/cases/assertion/ddl/DDLIntegrateTestCaseAssertion.java
index e9a8e3f..e50c7ae 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/cases/assertion/ddl/DDLIntegrateTestCaseAssertion.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/cases/assertion/ddl/DDLIntegrateTestCaseAssertion.java
@@ -18,6 +18,7 @@
 package org.apache.shardingsphere.test.integration.cases.assertion.ddl;
 
 import lombok.Getter;
+import lombok.Setter;
 import org.apache.shardingsphere.test.integration.cases.assertion.root.IntegrateTestCaseAssertion;
 
 import javax.xml.bind.annotation.XmlAttribute;
@@ -26,10 +27,11 @@ import javax.xml.bind.annotation.XmlAttribute;
  * JAXB definition of DDL integrate test case assertion.
  */
 @Getter
+@Setter
 public final class DDLIntegrateTestCaseAssertion extends IntegrateTestCaseAssertion {
     
     @XmlAttribute(name = "init-sql")
-    private String initSql;
+    private String initSQL;
     
     @XmlAttribute(name = "table")
     private String table;
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/cases/dataset/util/DataSetPathUtil.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/cases/dataset/DataSetLoader.java
similarity index 71%
rename from shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/cases/dataset/util/DataSetPathUtil.java
rename to shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/cases/dataset/DataSetLoader.java
index 6b3d0b9..352d4ae 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/cases/dataset/util/DataSetPathUtil.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/cases/dataset/DataSetLoader.java
@@ -15,32 +15,44 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.test.integration.cases.dataset.util;
+package org.apache.shardingsphere.test.integration.cases.dataset;
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
+import lombok.SneakyThrows;
 import org.apache.shardingsphere.infra.database.type.DatabaseType;
 
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBException;
 import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
 
 /**
- * Data set path util.
+ * Data set loader.
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class DataSetPathUtil {
+public final class DataSetLoader {
     
     private static final String DATA_SET_FOLDER_NAME = "dataset";
     
     /**
-     * Get data set absolute path.
-     * 
+     * Load data set.
+     *
      * @param parentPath parent path of data set file
      * @param ruleType rule type
      * @param databaseType database type
      * @param dataSetFile name of data set file
-     * @return data set absolute path
+     * @return data set
      */
-    public static String getDataSetPath(final String parentPath, final String ruleType, final DatabaseType databaseType, final String dataSetFile) {
+    @SneakyThrows({JAXBException.class, IOException.class})
+    public static DataSet load(final String parentPath, final String ruleType, final DatabaseType databaseType, final String dataSetFile) {
+        try (FileReader reader = new FileReader(getFile(parentPath, ruleType, databaseType, dataSetFile))) {
+            return (DataSet) JAXBContext.newInstance(DataSet.class).createUnmarshaller().unmarshal(reader);
+        }
+    }
+    
+    private static String getFile(final String parentPath, final String ruleType, final DatabaseType databaseType, final String dataSetFile) {
         String result = String.join(File.separator, parentPath, DATA_SET_FOLDER_NAME, ruleType, databaseType.getName().toLowerCase(), dataSetFile);
         if (new File(result).exists()) {
             return result;
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/BatchIT.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/BatchIT.java
index 1195547..48ebab3 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/BatchIT.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/BatchIT.java
@@ -29,7 +29,7 @@ import org.apache.shardingsphere.test.integration.cases.dataset.DataSet;
 import org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSetColumn;
 import org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSetMetadata;
 import org.apache.shardingsphere.test.integration.cases.dataset.row.DataSetRow;
-import org.apache.shardingsphere.test.integration.cases.dataset.util.DataSetPathUtil;
+import org.apache.shardingsphere.test.integration.cases.dataset.DataSetLoader;
 import org.apache.shardingsphere.test.integration.env.EnvironmentPath;
 import org.apache.shardingsphere.test.integration.env.dataset.DataSetEnvironmentManager;
 import org.junit.After;
@@ -37,9 +37,7 @@ import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.BeforeClass;
 
-import javax.xml.bind.JAXBContext;
 import javax.xml.bind.JAXBException;
-import java.io.FileReader;
 import java.io.IOException;
 import java.sql.Connection;
 import java.sql.PreparedStatement;
@@ -69,16 +67,16 @@ public abstract class BatchIT extends BaseIT {
     
     private final String sql;
     
-    private final Collection<String> expectedDataFiles;
+    private final Collection<DataSet> dataSets;
     
     protected BatchIT(final IntegrateTestCaseContext testCaseContext, 
                       final String ruleType, final DatabaseType databaseType, final String sql) throws IOException, JAXBException, SQLException {
         super(ruleType, databaseType);
         this.testCaseContext = testCaseContext;
         this.sql = sql;
-        expectedDataFiles = new LinkedList<>();
+        dataSets = new LinkedList<>();
         for (IntegrateTestCaseAssertion each : testCaseContext.getTestCase().getIntegrateTestCaseAssertions()) {
-            expectedDataFiles.add(DataSetPathUtil.getDataSetPath(testCaseContext.getParentPath(), ruleType, databaseType, each.getExpectedDataFile()));
+            dataSets.add(DataSetLoader.load(testCaseContext.getParentPath(), ruleType, databaseType, each.getExpectedDataFile()));
         }
         dataSetEnvironmentManager = new DataSetEnvironmentManager(EnvironmentPath.getDataInitializeResourceFile(ruleType), getDataSourceMap());
     }
@@ -103,15 +101,14 @@ public abstract class BatchIT extends BaseIT {
         dataSetEnvironmentManager.clear();
     }
     
-    protected final void assertDataSet(final int[] actualUpdateCounts) throws SQLException, IOException, JAXBException {
+    protected final void assertDataSet(final int[] actualUpdateCounts) throws SQLException {
         Collection<DataSet> expectedList = new LinkedList<>();
-        assertThat(actualUpdateCounts.length, is(expectedDataFiles.size()));
+        assertThat(actualUpdateCounts.length, is(dataSets.size()));
         int count = 0;
-        for (String each : expectedDataFiles) {
-            try (FileReader reader = new FileReader(each)) {
-                DataSet expected = (DataSet) JAXBContext.newInstance(DataSet.class).createUnmarshaller().unmarshal(reader);
-                assertThat(actualUpdateCounts[count], is(expected.getUpdateCount()));
-                expectedList.add(expected);
+        for (DataSet each : dataSets) {
+            try {
+                assertThat(actualUpdateCounts[count], is(each.getUpdateCount()));
+                expectedList.add(each);
             } catch (final AssertionError ex) {
                 log.error("[ERROR] SQL::{}, Expect::{}", sql, each);
                 throw ex;
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/SingleIT.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/SingleIT.java
index c036a3f..7a48276 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/SingleIT.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/SingleIT.java
@@ -24,12 +24,14 @@ import org.apache.shardingsphere.infra.database.type.DatabaseType;
 import org.apache.shardingsphere.test.integration.cases.assertion.root.IntegrateTestCaseAssertion;
 import org.apache.shardingsphere.test.integration.cases.assertion.root.SQLCaseType;
 import org.apache.shardingsphere.test.integration.cases.assertion.root.SQLValue;
-import org.apache.shardingsphere.test.integration.cases.dataset.util.DataSetPathUtil;
+import org.apache.shardingsphere.test.integration.cases.dataset.DataSet;
+import org.apache.shardingsphere.test.integration.cases.dataset.DataSetLoader;
 
 import javax.xml.bind.JAXBException;
 import java.io.IOException;
 import java.sql.SQLException;
 import java.text.ParseException;
+import java.util.Collections;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -37,40 +39,32 @@ import java.util.stream.Collectors;
 @Getter(AccessLevel.PROTECTED)
 public abstract class SingleIT extends BaseIT {
     
+    private final String caseIdentifier;
+    
     private final IntegrateTestCaseAssertion assertion;
     
     private final SQLCaseType caseType;
     
-    private final String expectedDataFile;
+    private final DataSet dataSet;
     
     private final String sql;
     
-    private final String originalSQL;
-    
     protected SingleIT(final String parentPath, final IntegrateTestCaseAssertion assertion, final String ruleType, 
                        final DatabaseType databaseType, final SQLCaseType caseType, final String sql) throws IOException, JAXBException, SQLException, ParseException {
         super(ruleType, databaseType);
+        caseIdentifier = sql;
         this.assertion = assertion;
         this.caseType = caseType;
-        originalSQL = sql;
-        this.sql = convert(sql);
-        expectedDataFile = null == assertion ? null : DataSetPathUtil.getDataSetPath(parentPath, ruleType, databaseType, assertion.getExpectedDataFile());
-    }
-    
-    private String convert(final String sql) throws ParseException {
-        return caseType == SQLCaseType.Literal ? getLiteralSQL(sql) : sql;
+        this.sql = caseType == SQLCaseType.Literal ? getLiteralSQL(sql) : sql;
+        dataSet = null == assertion ? null : DataSetLoader.load(parentPath, ruleType, databaseType, assertion.getExpectedDataFile());
     }
     
     private String getLiteralSQL(final String sql) throws ParseException {
-        List<Object> parameters = null != assertion ? assertion.getSQLValues().stream().map(SQLValue::toString).collect(Collectors.toList()) : null;
-        if (null == parameters || parameters.isEmpty()) {
-            return sql;
-        }
-        return String.format(sql.replace("%", "$").replace("?", "%s"), parameters.toArray()).replace("$", "%")
-            .replace("%%", "%").replace("'%'", "'%%'");
+        List<Object> parameters = null == assertion ? Collections.emptyList() : assertion.getSQLValues().stream().map(SQLValue::toString).collect(Collectors.toList());
+        return parameters.isEmpty() ? sql : String.format(sql.replace("%", "$").replace("?", "%s"), parameters.toArray()).replace("$", "%").replace("%%", "%").replace("'%'", "'%%'");
     }
     
-    protected final void printExceptionContext(final Exception ex) {
-        log.error("ruleType={}, databaseType={}, expectedDataFile={}, sql={}", getRuleType(), getDatabaseType().getName(), expectedDataFile, sql, ex);
+    protected final void logException(final Exception ex) {
+        log.error("ruleType={}, databaseType={}, sql={}", getRuleType(), getDatabaseType().getName(), sql, ex);
     }
 }
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dcl/GeneralDCLIT.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dcl/GeneralDCLIT.java
index 35b0fb0..fe9477f 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dcl/GeneralDCLIT.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dcl/GeneralDCLIT.java
@@ -53,7 +53,7 @@ public final class GeneralDCLIT extends BaseDCLIT {
                 connection.prepareStatement(getSql()).executeUpdate();
             }
         } catch (final SQLException ex) {
-            printExceptionContext(ex);
+            logException(ex);
             throw ex;
         }
     }
@@ -67,7 +67,7 @@ public final class GeneralDCLIT extends BaseDCLIT {
                 connection.prepareStatement(getSql()).execute();
             }
         } catch (final SQLException ex) {
-            printExceptionContext(ex);
+            logException(ex);
             throw ex;
         }
     }
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/ddl/BaseDDLIT.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/ddl/BaseDDLIT.java
index 31859d7..0096aea 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/ddl/BaseDDLIT.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/ddl/BaseDDLIT.java
@@ -18,24 +18,21 @@
 package org.apache.shardingsphere.test.integration.engine.ddl;
 
 import lombok.extern.slf4j.Slf4j;
+import org.apache.shardingsphere.infra.database.type.DatabaseType;
 import org.apache.shardingsphere.test.integration.cases.assertion.ddl.DDLIntegrateTestCaseAssertion;
-import org.apache.shardingsphere.test.integration.cases.dataset.DataSet;
+import org.apache.shardingsphere.test.integration.cases.assertion.root.SQLCaseType;
 import org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSetColumn;
 import org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSetIndex;
 import org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSetMetadata;
-import org.apache.shardingsphere.test.integration.cases.assertion.root.SQLCaseType;
 import org.apache.shardingsphere.test.integration.engine.SingleIT;
 import org.apache.shardingsphere.test.integration.env.EnvironmentPath;
 import org.apache.shardingsphere.test.integration.env.dataset.DataSetEnvironmentManager;
-import org.apache.shardingsphere.infra.database.type.DatabaseType;
 import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.BeforeClass;
 
-import javax.xml.bind.JAXBContext;
 import javax.xml.bind.JAXBException;
-import java.io.FileReader;
 import java.io.IOException;
 import java.sql.Connection;
 import java.sql.DatabaseMetaData;
@@ -89,15 +86,11 @@ public abstract class BaseDDLIT extends SingleIT {
         dropTables();
     }
     
-    protected final void assertMetadata(final Connection connection) throws IOException, JAXBException, SQLException {
+    protected final void assertMetaData(final Connection connection) throws SQLException {
         if (null == assertion.getExpectedDataFile()) {
-            log.warn("Have empty expectedDataFile `{}`", getSql());
+            log.warn("Expected data file `{}` is empty", getSql());
             return;
         }
-        DataSet expected;
-        try (FileReader reader = new FileReader(getExpectedDataFile())) {
-            expected = (DataSet) JAXBContext.newInstance(DataSet.class).createUnmarshaller().unmarshal(reader);
-        }
         String tableName = assertion.getTable();
         List<DataSetColumn> actualColumns = getActualColumns(connection, tableName);
         List<DataSetIndex> actualIndexes = getActualIndexes(connection, tableName);
@@ -107,19 +100,19 @@ public abstract class BaseDDLIT extends SingleIT {
             return;
         }
         try {
-            assertMetadata(actualColumns, actualIndexes, expected.findMetadata(tableName));
+            assertMetaData(actualColumns, actualIndexes, getDataSet().findMetadata(tableName));
         } catch (final AssertionError ex) {
-            log.error("[ERROR] SQL::{}, Parameter::{}, Expect::{}", getOriginalSQL(), getAssertion().getParameters(), getAssertion().getExpectedDataFile());
+            log.error("[ERROR] SQL::{}, Parameter::{}, Expect::{}", getCaseIdentifier(), getAssertion().getParameters(), getAssertion().getExpectedDataFile());
             throw ex;
         }
     }
     
-    private void assertMetadata(final List<DataSetColumn> actualColumns, final List<DataSetIndex> actualIndexes, final DataSetMetadata expected) {
+    private void assertMetaData(final List<DataSetColumn> actualColumns, final List<DataSetIndex> actualIndexes, final DataSetMetadata expected) {
         for (DataSetColumn each : expected.getColumns()) {
-            assertColumnMetadata(actualColumns, each);
+            assertColumnMetaData(actualColumns, each);
         }
         for (DataSetIndex each : expected.getIndexes()) {
-            assertIndexMetadata(actualIndexes, each);
+            assertIndexMetaData(actualIndexes, each);
         }
     }
     
@@ -135,7 +128,7 @@ public abstract class BaseDDLIT extends SingleIT {
         }
     }
     
-    private void assertColumnMetadata(final List<DataSetColumn> actual, final DataSetColumn expect) {
+    private void assertColumnMetaData(final List<DataSetColumn> actual, final DataSetColumn expect) {
         for (DataSetColumn each : actual) {
             if (expect.getName().equals(each.getName())) {
                 if ("MySQL".equals(databaseType.getName()) && "integer".equals(expect.getType())) {
@@ -149,7 +142,7 @@ public abstract class BaseDDLIT extends SingleIT {
         }
     }
     
-    private void assertIndexMetadata(final List<DataSetIndex> actual, final DataSetIndex expect) {
+    private void assertIndexMetaData(final List<DataSetIndex> actual, final DataSetIndex expect) {
         for (DataSetIndex each : actual) {
             if (expect.getName().equals(each.getName())) {
                 assertThat(each.isUnique(), is(expect.isUnique()));
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/ddl/GeneralDDLIT.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/ddl/GeneralDDLIT.java
index 4eef20f..1cb686d 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/ddl/GeneralDDLIT.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/ddl/GeneralDDLIT.java
@@ -62,8 +62,8 @@ public final class GeneralDDLIT extends BaseDDLIT {
     private void assertExecuteByType(final boolean isExecuteUpdate) throws JAXBException, IOException, SQLException {
         try (Connection connection = getDataSource().getConnection()) {
             dropTableIfExisted(connection);
-            if (!Strings.isNullOrEmpty(assertion.getInitSql())) {
-                for (String sql : Splitter.on(";").trimResults().splitToList(assertion.getInitSql())) {
+            if (!Strings.isNullOrEmpty(assertion.getInitSQL())) {
+                for (String sql : Splitter.on(";").trimResults().splitToList(assertion.getInitSQL())) {
                     connection.prepareStatement(sql).executeUpdate();
                 }
             }
@@ -80,10 +80,10 @@ public final class GeneralDDLIT extends BaseDDLIT {
                     connection.prepareStatement(getSql()).execute();
                 }
             }
-            assertMetadata(connection);
+            assertMetaData(connection);
             dropTableIfExisted(connection);
         } catch (final SQLException ex) {
-            printExceptionContext(ex);
+            logException(ex);
             throw ex;
         }
     }
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dml/BaseDMLIT.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dml/BaseDMLIT.java
index a55908b..6e4f94b 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dml/BaseDMLIT.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dml/BaseDMLIT.java
@@ -24,7 +24,6 @@ import org.apache.shardingsphere.infra.datanode.DataNode;
 import org.apache.shardingsphere.sharding.algorithm.sharding.inline.InlineExpressionParser;
 import org.apache.shardingsphere.test.integration.cases.assertion.dml.DMLIntegrateTestCaseAssertion;
 import org.apache.shardingsphere.test.integration.cases.assertion.root.SQLCaseType;
-import org.apache.shardingsphere.test.integration.cases.dataset.DataSet;
 import org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSetColumn;
 import org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSetMetadata;
 import org.apache.shardingsphere.test.integration.cases.dataset.row.DataSetRow;
@@ -36,9 +35,7 @@ import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.BeforeClass;
 
-import javax.xml.bind.JAXBContext;
 import javax.xml.bind.JAXBException;
-import java.io.FileReader;
 import java.io.IOException;
 import java.sql.Connection;
 import java.sql.PreparedStatement;
@@ -85,15 +82,11 @@ public abstract class BaseDMLIT extends SingleIT {
         dataSetEnvironmentManager.clear();
     }
     
-    protected final void assertDataSet(final int actualUpdateCount) throws SQLException, IOException, JAXBException {
-        DataSet expected;
-        try (FileReader reader = new FileReader(getExpectedDataFile())) {
-            expected = (DataSet) JAXBContext.newInstance(DataSet.class).createUnmarshaller().unmarshal(reader);
-        }
+    protected final void assertDataSet(final int actualUpdateCount) throws SQLException {
         try {
-            assertThat("Only support single table for DML.", expected.getMetadataList().size(), is(1));
-            assertThat(actualUpdateCount, is(expected.getUpdateCount()));
-            DataSetMetadata expectedDataSetMetadata = expected.getMetadataList().get(0);
+            assertThat("Only support single table for DML.", getDataSet().getMetadataList().size(), is(1));
+            assertThat(actualUpdateCount, is(getDataSet().getUpdateCount()));
+            DataSetMetadata expectedDataSetMetadata = getDataSet().getMetadataList().get(0);
             for (String each : new InlineExpressionParser(expectedDataSetMetadata.getDataNodes()).splitAndEvaluate()) {
                 DataNode dataNode = new DataNode(each);
                 String sql;
@@ -107,11 +100,11 @@ public abstract class BaseDMLIT extends SingleIT {
                 }
                 try (Connection connection = getDataSourceMap().get(dataNode.getDataSourceName()).getConnection();
                      PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
-                    assertDataSet(preparedStatement, expected.findRows(dataNode), expectedDataSetMetadata);
+                    assertDataSet(preparedStatement, getDataSet().findRows(dataNode), expectedDataSetMetadata);
                 }
             }
         } catch (final AssertionError ex) {
-            log.error("[ERROR] SQL::{}, Parameter::{}, Expect::{}", getOriginalSQL(), getAssertion().getParameters(), getAssertion().getExpectedDataFile());
+            log.error("[ERROR] SQL::{}, Parameter::{}, Expect::{}", getCaseIdentifier(), getAssertion().getParameters(), getAssertion().getExpectedDataFile());
             throw ex;
         }
     }
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dml/GeneralDMLIT.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dml/GeneralDMLIT.java
index 5cf8da2..117e19d 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dml/GeneralDMLIT.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dml/GeneralDMLIT.java
@@ -73,7 +73,7 @@ public final class GeneralDMLIT extends BaseDMLIT {
         try (Connection connection = getDataSource().getConnection()) {
             actualUpdateCount = SQLCaseType.Literal == getCaseType() ? executeUpdateForStatement(connection) : executeUpdateForPreparedStatement(connection);
         } catch (final SQLException ex) {
-            printExceptionContext(ex);
+            logException(ex);
             throw ex;
         }
         assertDataSet(actualUpdateCount);
@@ -108,7 +108,7 @@ public final class GeneralDMLIT extends BaseDMLIT {
         try (Connection connection = getDataSource().getConnection()) {
             actualUpdateCount = SQLCaseType.Literal == getCaseType() ? executeForStatement(connection) : executeForPreparedStatement(connection);
         } catch (final SQLException ex) {
-            printExceptionContext(ex);
+            logException(ex);
             throw ex;
         }
         assertDataSet(actualUpdateCount);
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dql/BaseDQLIT.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dql/BaseDQLIT.java
index 2fddaf9..bbf996040 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dql/BaseDQLIT.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dql/BaseDQLIT.java
@@ -18,26 +18,23 @@
 package org.apache.shardingsphere.test.integration.engine.dql;
 
 import lombok.extern.slf4j.Slf4j;
+import org.apache.shardingsphere.infra.database.type.DatabaseType;
 import org.apache.shardingsphere.test.integration.cases.assertion.dql.DQLIntegrateTestCaseAssertion;
-import org.apache.shardingsphere.test.integration.cases.dataset.DataSet;
+import org.apache.shardingsphere.test.integration.cases.assertion.root.SQLCaseType;
 import org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSetColumn;
 import org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSetMetadata;
 import org.apache.shardingsphere.test.integration.cases.dataset.row.DataSetRow;
-import org.apache.shardingsphere.test.integration.cases.assertion.root.SQLCaseType;
 import org.apache.shardingsphere.test.integration.engine.SingleIT;
 import org.apache.shardingsphere.test.integration.env.EnvironmentPath;
 import org.apache.shardingsphere.test.integration.env.IntegrateTestEnvironment;
 import org.apache.shardingsphere.test.integration.env.dataset.DataSetEnvironmentManager;
 import org.apache.shardingsphere.test.integration.env.datasource.DataSourceUtil;
 import org.apache.shardingsphere.test.integration.env.schema.SchemaEnvironmentManager;
-import org.apache.shardingsphere.infra.database.type.DatabaseType;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 
 import javax.sql.DataSource;
-import javax.xml.bind.JAXBContext;
 import javax.xml.bind.JAXBException;
-import java.io.FileReader;
 import java.io.IOException;
 import java.sql.ResultSet;
 import java.sql.ResultSetMetaData;
@@ -91,20 +88,16 @@ public abstract class BaseDQLIT extends SingleIT {
         return result;
     }
     
-    protected final void assertResultSet(final ResultSet resultSet) throws SQLException, JAXBException, IOException {
-        DataSet expected;
-        try (FileReader reader = new FileReader(getExpectedDataFile())) {
-            expected = (DataSet) JAXBContext.newInstance(DataSet.class).createUnmarshaller().unmarshal(reader);
-        }
+    protected final void assertResultSet(final ResultSet resultSet) throws SQLException {
         List<DataSetColumn> expectedColumns = new LinkedList<>();
-        for (DataSetMetadata each : expected.getMetadataList()) {
+        for (DataSetMetadata each : getDataSet().getMetadataList()) {
             expectedColumns.addAll(each.getColumns());
         }
         try {
             assertMetaData(resultSet.getMetaData(), expectedColumns);
-            assertRows(resultSet, expected.getRows());
+            assertRows(resultSet, getDataSet().getRows());
         } catch (final AssertionError ex) {
-            log.error("[ERROR] SQL::{}, Parameter::[{}], Expect::{}", getOriginalSQL(), getAssertion().getParameters(), getAssertion().getExpectedDataFile());
+            log.error("[ERROR] SQL::{}, Parameter::[{}], Expect::{}", getCaseIdentifier(), getAssertion().getParameters(), getAssertion().getExpectedDataFile());
             throw ex;
         }
     }
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dql/GeneralDQLIT.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dql/GeneralDQLIT.java
index 9fa529f..45a8aed 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dql/GeneralDQLIT.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/dql/GeneralDQLIT.java
@@ -62,7 +62,7 @@ public final class GeneralDQLIT extends BaseDQLIT {
                 assertExecuteQueryForPreparedStatement(connection);
             }
         } catch (final SQLException ex) {
-            printExceptionContext(ex);
+            logException(ex);
             throw ex;
         }
     }
@@ -95,7 +95,7 @@ public final class GeneralDQLIT extends BaseDQLIT {
                 assertExecuteForPreparedStatement(connection);
             }
         } catch (final SQLException ex) {
-            printExceptionContext(ex);
+            logException(ex);
             throw ex;
         }
     }