簡體   English   中英

在python,postgresql中進行數據庫測試

[英]Database testing in python, postgresql

你如何對使用postgresql的python DAL進行單元測試。

在sqlite中,您可以為每個測試創建內存數據庫,但這不能用於postgresql。

我想要一個可用於設置數據庫的庫,並在測試完成后清理它。

我使用Sqlalchemy作為我的ORM。

pg_tmp(1)是一個旨在簡化此任務的實用程序。 以下是如何使用SQLAlchemy啟動新連接:

from subprocess import check_output
from sqlalchemy import create_engine

url = check_output(['pg_tmp', '-t'])
engine = create_engine(url)

這將啟動一個在60秒內自動銷毀的新數據庫。 如果連接打開, pg_tmp將等待,直到所有活動連接都關閉。

你試過testing.postgresql嗎?

您可以使用nose編寫測試,然后使用SQLAlchemy在setup / teardown方法中創建和清理測試數據庫。

還有QuickPiggy ,它能夠自行清理。 來自文檔:

可以很容易地獲得臨時PostgresSQL實例:

pig = quickpiggy.Piggy(volatile = True,create_db ='somedb')

conn = psycopg2.connect(pig.dsnstring())

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM