我需要在python-unittest中模拟postgres select查询数据。
def execute_query(self, query, fetch=False):
logger.info("Start querying database")
cursor = None
connection = None
try:
connection = self.connection_pool.getconn()
logger.info("Successfully received connection from connection pool")
cursor = connection.cursor()
logger.info("Successfully connected to database")
cursor.execute(query)
if fetch:
result_list = cursor.fetchall()发布于 2021-05-30 02:42:43
如果您想要一个以python为中心的解决方案,请尝试PyPI的testing.postgresql (也请参阅here)。
这可能是过度杀伤力,但您也可以很容易地使用postgres启动一个docker容器并对其进行测试。这种方法的优点是它更加模块化,如果将来需要,您可以添加其他数据库。请参阅下面的撰写文件。默认情况下,此映像将为您提供一个具有管理员权限的空数据库。
version: '3'
services:
psql:
# you can also choose a specific version to test instead
# of 'latest' or use your own Dockerfile for custom setup
image: 'postgres:latest'
ports:
- 5432:5432
environment:
POSTGRES_USER: test-username
POSTGRES_PASSWORD: supersecretpassword
POSTGRES_DB: test-db-name
# mysql if you want...
# sqlserver if you want...https://stackoverflow.com/questions/67754015
复制相似问题