差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
study:java:dbunit:testdata [2020/05/20 06:29] bananastudy:java:dbunit:testdata [2020/05/20 06:43] (現在) – [Restore table data] banana
行 1: 行 1:
 ====== Backup table data ====== ====== Backup table data ======
-あるテーブルに対して、transactionを行うクラスをテストする際、テーブルデータをバックアップする方法を紹介する。\+あるテーブルに対して、transactionを行うクラスをテストする際、テーブルデータをバックアップする方法を紹介する。\\
 ここで、紹介するテストクラスは、[[study:java:powermock:integation|Integration with TestNG]]で紹介した親クラスを継承していることを前提する。 ここで、紹介するテストクラスは、[[study:java:powermock:integation|Integration with TestNG]]で紹介した親クラスを継承していることを前提する。
  
行 19: 行 19:
             //prepare backup file             //prepare backup file
             QueryDataSet _partialDataSet = new QueryDataSet(_connection);             QueryDataSet _partialDataSet = new QueryDataSet(_connection);
-            _partialDataSet.addTable("your table name here");+            _partialDataSet.addTable("employee_mst");
             backupFile = File.createTempFile("foo", "xml");             backupFile = File.createTempFile("foo", "xml");
             //write table data to file             //write table data to file
行 34: 行 34:
         }         }
     }     }
 +}
 +</code>
 +ここで、テストデータとしてtestdata.xmlを使用しているが、サンプルは次節で紹介する。
 +
 +====== Prepare test data ======
 +testdata.xmlを中身を下に示す。
 +
 +<code xml>
 +<?xml version="1.0" encoding="UTF-8"?>
 +<dataset>
 +<employee_mst
 + id="1"
 + first_name="太郎"
 + last_name="山田"
 +        birth="1980-04-01"
 + dept_id="001"
 + company="Ourparms corporations"
 + reg_date="2020-05-20 15:36:25"
 + reg_uid="test"
 + mod_date="2020-05-20 15:36:25"
 + mod_uid="test"
 +        delete_flag="0"
 +/>
 +</dataset>
 +
 +</code>
 +
 +====== Restore table data ======
 +テスト実施後、テーブルデータを元に復元するソースコードを以下に示す。
 +
 +<code java>
 +public class TestSomeTableTransactionService extends AbstractCustomTestCase {
 +    //table backup file
 +    private File backupFile;
 +
 +    /* (non-Javadoc)
 +     * @see parent.AbstractCustomTestCase#tearDownHook()
 +     */
 +    @Override
 +    protected void tearDownHook() throws Exception {
 +        IDatabaseConnection _connection = null;
 +        try {
 +            _connection = databaseTester.getConnection();
 +            //restore backup file
 +            FlatXmlDataSetBuilder _builder = new FlatXmlDataSetBuilder();
 +            IDataSet _dataSet = _builder.build(backupFile);
 +            DatabaseOperation.CLEAN_INSERT.execute(_connection, _dataSet);
 +        } finally {
 +            if (_connection != null) _connection.close();
 +        }
 +    }
 +
 } }
 </code> </code>

QR Code
QR Code study:java:dbunit:testdata (generated for current page)