¿Cómo puedo simular mi base de datos de postgres para probar?
Mi aplicación es muy simple, pero no puedo encontrar una buena manera de simular mi base de datos para las pruebas. En Java, generalmente uso HSQLDB, pero ¿hay una solución en Clojure?
Este es mi archivo de proyecto.
(defproject account-manager "0.1.0-SNAPSHOT" :description "Account Manager" :url "http://example.com/FIXME" :license {:name "Eclipse Public License" :url "http://www.eclipse.org/legal/epl-v10.html"} :dependencies [[org.clojure/clojure "1.8.0"] [compojure "1.5.2"] [cheshire "5.7.0"] [ring/ring-core "1.5.1"] [ring/ring-json "0.4.0"] [ring/ring-jetty-adapter "1.5.1"] [korma "0.4.3"] [org.clojars.amit/postgresql "8.0.1"] [com.h2database/h2 "1.4.188"] [ragtime "0.7.1"] [environ "1.1.0"] [org.clojure/data.json "0.2.6"] [buddy/buddy-hashers "1.2.0"] [clj-time "0.13.0"]] :plugins [[lein-ring "0.11.0"]] :ring {:handler account-manager.handler/app :nrepl {:start? true :port 9998}} :profiles {:dev {:dependencies [[javax.servlet/servlet-api "2.5"] [ring-mock "0.1.5"]] :env {:bank-db "bank_db" :bank-db-user "bank_db" :bank-db-pass "-"}} :test {:env {:bank-db "bank_db" :bank-db-user "bank_db" :bank-db-pass "-"}}})Y así es como estoy configurando mi base de datos. En el futuro usaré archivos de configuración.
(ns bank-account-manager.db (:use korma.db) (:require [environ.core :refer [env]])) (defdb db (postgres {:db (get env :bank-db "bank_db") :user (get env :bank-db-user "bank_db") :password (get env :bank-db-pass "-") :host (get env :bank-db-host "localhost") :port (get env :bank-db-port 5432)}))¿Hay una buena manera de burlarse?
HSQLDB funciona con clojure.java.jdbc.
El archivo Léame allí menciona que Korma es una biblioteca compatible con clojure.java.jdbc.
No veo ninguna razón por la que no pueda continuar usando HSQLDB como lo haría en Java entonces.