小编Sui*_*nny的帖子

如何在不创建 conn.cursor() 的情况下检查/打印 psycopg2 动态查询 Compose

我正在为查询生成器编写单元测试,其中我从几个用户输入字段组装查询。

例如

 query = sql.SQL("SELECT {fields} FROM {table}).format(
                                fields='*'
                                table=sql.Identifier(topic)))
Run Code Online (Sandbox Code Playgroud)

我只是想检查查询是否是我想要的,不需要执行。

我试图打印查询,并得到一个如下所示的组合对象

Composed([SQL('SELECT '), Composed([Identifier('*')]), SQL(' FROM '), Identifier('topic'), SQL(' '), SQL(''), SQL(' ')...)
Run Code Online (Sandbox Code Playgroud)

是否尝试将动态 sql 作为组合对象转换为 sql 查询字符串?

SELECT * FROM topic
Run Code Online (Sandbox Code Playgroud)

我没有为单元测试设置 postgres,所以我无法使用

query.as_string(conn)
Run Code Online (Sandbox Code Playgroud)

有什么提示吗?非常感谢

python postgresql psycopg2 pytest

4
推荐指数
1
解决办法
4179
查看次数

如何检查Cygwin上的当前目录?

抱歉天真的问题.

(我现在正在从UCB学习CS61B.问题是我之前从未使用过Linux或Unix,所有的指令都是为这些系统编写的.)

所以我不知道怎么开始....

unix linux cygwin

3
推荐指数
1
解决办法
9390
查看次数

与 pytest.raises(Exception) 不适用于flask app.post

我有一个这样的文件夹

python
??? foo
?   ??? __init__.py
?   ??? web
?       ??? __init__.py
?       ??? api
?       ?   ??? __init__.py
?       ?   ??? helper_api.py
?       ??? server.py         
??? test_server.py
    ??? test_helper_api.py
Run Code Online (Sandbox Code Playgroud)

helper_api.py 就像

@helper_api.route("/helper", methods=['POST'])
def helper():
    data = request.get_json(force=True, silent=True, cache=True)
    if data is None:
        raise QueryParseException("JSON-formatted query is required, none found")
Run Code Online (Sandbox Code Playgroud)

在 test_helper_api.py 中,我有

import ......
from foo.web.api.helper_api import QueryParseException

class TestClass(object):
    @pytest.fixture
    def client(self, request):
        self.client = server.app.test_client()
        return self.client

    def test_helper_api(self, client):
        with pytest.raises(QueryParseException):
            client.post('/helper')
Run Code Online (Sandbox Code Playgroud)

当我运行测试类时,代码在 …

python unit-testing pytest flask

1
推荐指数
1
解决办法
1634
查看次数

标签 统计

pytest ×2

python ×2

cygwin ×1

flask ×1

linux ×1

postgresql ×1

psycopg2 ×1

unit-testing ×1

unix ×1