2010-11-08 21 views
5

Mamy wszystkie nasze testy jednostkowe napisane tak, że tworzą i zapełniają tabele w HSQL. Chcę, aby programiści, którzy używają tego, mogli pisać zapytania dotyczące tego HSQL DB (1), pisząc zapytania, dzięki którym mogą lepiej zrozumieć model danych, a ci, którzy nie są zaznajomieni z SQL, mogą odtwarzać dane przed napisaniem instrukcji środowiska wykonawczego i 2), ponieważ nie mają dostępu do testowych przyczyn bezpieczeństwa/bezpieczeństwa). Czy istnieje sposób, aby utrwalić wyniki danych testowych, tak aby można je zbadać i przeanalizować za pomocą klienta sql?Czy istnieje sposób na utrzymanie danych HSQLDB?

W tej chwili jestem ławą przysięgłych poprzez zmianę źródła danych na inną bazę danych (np. DB2/mysql, a następnie łączenie się z bazą danych na moim komputerze, aby można było odtwarzać z trwałymi danymi), jednak byłoby mi łatwiej jeśli wsparcie HSQL utrzymuje się to, niż wyjaśnić, jak to zrobić dla każdego nowego programisty.

Dla jasności, potrzebuję klienta SQL do interakcji z trwałymi danymi, więc debugowanie i sprawdzanie pamięci nie będzie czyste. Ma to więcej wspólnego z początkowym rozwojem, a nie debugowaniem/konserwacją/testowaniem.

Odpowiedz

5

Jeśli do testów zostanie użyta instancja serwera HSQLDB, dane przeżyją uruchomienie testowe.

Jeśli serwer korzysta z adresu jdbc: hsqldb: mem: aname (all-in-memory) dla swojej bazy danych, dane będą dostępne podczas pracy serwera. Alternatywnie serwer może używać pliku jdbc: hsqldb: file: filepath url, a dane są przechowywane w plikach.

Najnowsze dokumenty HSQLDB objaśniają różne opcje. Większość obserwacji dotyczy również starszych wersji (1.8.x). Jednak najnowsza wersja 2.0.1 obsługuje dynamiczne uruchamianie serwera i tworzenie baz danych po pierwszym połączeniu, co może znacznie uprościć testowanie.

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

+0

może taka sql klient podłączyć do niczego, że hsqldb utrzymuje? – Zombies

+0

Po uruchomieniu HSQLDB jako serwera, działa podobnie do DB2. Używasz serwera jako źródła danych i możesz również użyć klienta SQL, takiego jak HSQLDB DatabaseManager lub Squirrel, aby połączyć się z serwerem i odtwarzać dane. – fredt

Powiązane problemy