2010-11-08 254 views
5

我們已經編寫了所有的單元測試,以便它們可以在HSQL中創建和填充表。我希望使用它的開發人員能夠通過編寫查詢來編寫對這個HSQL DB的查詢(1),他們可以更好地理解數據模型,並且在編寫運行時語句之前不熟悉SQL可以使用數據),因爲他們無法訪問測試數據庫/安全原因)。有沒有辦法堅持測試數據的結果,以便它可以檢查和分析一個SQL客戶端?有沒有辦法保存HSQLDB數據?

現在我是通過將數據源切換到不同的數據庫(如DB2/mysql,然後連接到我的機器上的數據庫以便可以使用持久數據)來操縱它,但是對我來說更容易如果HSQL支持堅持這一點,而不是解釋如何爲每個新開發人員做到這一點。要清楚,我需要一個SQL客戶端與持久數據進行交互,因此調試和檢查內存將不會乾淨。這與初始開發有關,而不是調試/維護/測試。

回答

5

如果您使用HSQLDB服務器實例進行測試,則數據將在測試運行中存活。

如果服務器爲其數據庫使用jdbc:hsqldb:mem:aname(全內存)url,那麼數據在服務器運行時將可用。或者,服務器可以使用jdbc:hsqldb:file:filepath url,並將數據保存到文件中。

最新的HSQLDB文檔解釋了不同的選項。大多數觀察也適用於較舊的(1.8.x)版本。但是,最新版本2.0.1支持在第一次連接時啓動服務器和動態創建數據庫,這可以大大簡化測試。

http://hsqldb.org/doc/2.0/guide/deployment-chapt.html#N13C3D

+0

可以在SQL客戶端連接到任何HSQLDB仍然存在? – Zombies 2010-11-09 13:58:48

+0

當您將HSQLDB作爲服務器運行時,它的運行類似於DB2。您可以使用服務器作爲數據源,還可以使用SQL客戶端(如HSQLDB DatabaseManager或Squirrel)連接到服務器並播放數據。 – fredt 2010-11-09 22:09:41

相關問題