Spring建立虛擬db環境進行單測

541732025發表於2013-08-01
在進行DAO本地測試或者單元測試時,db環境有時很難弄,而且即使調通了db環境,有時也不想往db裡面灌些無用資料,所以,為了不對真實db環境造成侵入,spring提供了一套虛擬db環境,利用它可以方便地進行單元測試。

在spring環境中配置:

點選(此處)摺疊或開啟

  1. <jdbc:embedded-database id=\"db_product_recommend\" type=\"H2\">
  2.  <jdbc:script. location=\"classpath:database/product-recommend-schema.sql\" />
  3.  <jdbc:script. location=\"classpath:database/product-recommend-data.sql\" />
  4. </jdbc:embedded-database>

type支援HSQL、H2、Derby三種。預設為HSQL
schema.sql檔案為建庫建表語句,data.sql為表資料檔案,初始可以先insert一些資料。

配置embedded database之後,就可以將其注入到需要dataSource的DAO中,之後就可以進行DAO單元測試了。

另外,還有一種程式碼方式來建立embedded database:

點選(此處)摺疊或開啟

  1. EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder();
  2. EmbeddedDatabase db = builder.type(H2).script(\"schema.sql\").script(\"test-data.sql\").build();
  3. // do stuff against the db (EmbeddedDatabase extends javax.sql.DataSource)
  4. db.shutdown()


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28912557/viewspace-767642/,如需轉載,請註明出處,否則將追究法律責任。

相關文章