我有很多訪問數據庫的DAO測試。 我試圖在內存數據庫中使用Java來模擬它們,比如H2。 但問題是ddl腳本包含分區聲明,這似乎不被H2支持。 我基本上想使用與生產中相同的ddl腳本,並且不希望以任何方式修改它們以進行「單元」測試。 我也試過HSQL,但發現H2更類似於oracle,但即使那樣它也不支持分區。 有沒有解決這個問題的方法?如何在內存數據庫中使用高效的java來模擬Oracle數據庫
我看過以下 Create an in-memory database structure from an Oracle instance 它談到使用H2,但我已經提到它的缺點。 尋找一些替代品。
如果您想進行有意義的測試,則不能模擬Oracle數據庫(或任何DBMS)。設置您運行測試的測試實例。順便說一句:你應該提到,如果你實際上是在談論*分區*或*窗口函數*(使用'over(partition by ..') – 2013-02-12 21:44:23
+1 for @ a_horse_with_no_name's comment。每個數據庫都有一個稍微不同的語法,你會以及建立一個測試實例oracle – 2013-02-12 22:04:05
@MisrableVariable它取決於DAO的複雜性和你想測試的東西,如果DAO只是做簡單的CRUD操作,H2對於* unit *測試來說足夠了,但是我同意應該在Oracle上運行測試(即集成測試) – 2013-02-12 22:50:04