PostgreSQL není server pro vložení do paměti. Nelze jej pouze načíst jako knihovnu a spustit.
Budete potřebovat nějaký kontrolní kód testovacího svazku, abyste:
-
initdbdočasný datový adresář -
Upravte
postgresql.confpodle potřeby připojením řádků nebo povoleníminclude_dira pouštění souborů do něj. Pokud potřebujete pouze triviální konfiguraci, možná budete moci tento krok přeskočit; věci jakoportlze nastavit pomocí proměnných prostředí a mnoho dalších lze nastavit pomocí-cpříznaků k příkazu spuštění serveru. -
vygenerovat náhodné číslo portu k použití
-
Spusťte server - spusťte
postgres -D the_datadirnovou instanci serveru pomocí JavaProcessřízení. Vlastní konfigurační hodnoty můžete předat pomocí-ca může také nastavit proměnné prostředí pro řízení chování. -
Připojte se přes JDBC a
CREATE DATABASEpoté spusťte testovací nastavení -
Spusťte své testy
-
Zastavte server ukončením procesu, který jste spustili.
-
Smažte datový adresář
Budete chtít provést správu procesů ve třídě s vhodným zpracováním dočasného adresáře, vyčištěním při nečistém ukončení (zabití serveru Pg a smazání datadir při výjimce) atd.
Budu překvapen, když nenajdete konzervovaný kód testovacího postroje, který byste si k tomu mohli půjčit. Zajímalo by mě, jestli bychom měli přidat nějaké do PgJDBC a sbalit to do ovladače? Pokud najdete něco dobrého nebo něco dobrého napíšete, napište mi prosím ping komentářem k této odpovědi a já ji zvážím pro zahrnutí jako užitečnou třídu v PgJDBC.
To znamená, že je mnohem běžnější spouštět testy v nově vytvořené testovací databázi v existující instanci PostgreSQL, která již běží na vašem serveru. Stačí nakonfigurovat svou testovací sadu pomocí uživatelského jména/hesla/hostitele/portu/databáze PostgreSQL (nebo ji nechat připojit k postgres databáze a CREATE a DROP databáze). Koneckonců, nějaká konfigurace bude vždy vyžadována:instalace nebo kompilace PostgreSQL, ujistěte se, že binární soubory jsou na PATH , atd.
Další možností je použití Amazon RDS:Použijte AWS RDS API ke spuštění nové instance PostgreSQL a použijte ji pro své testy. To pravděpodobně není praktické, pokud vaše testy neběží po dlouhou dobu kvůli době nastavení a minimální době běhu, ale je to další možnost, stejně jako podobná služba v Heroku.