我尝试使用金字塔框架和 sqlalchemy ORM 在python中添加一个(非常大的)现有项目的方法。我想用sqlalchemy执行一个sql查询,但我以前从未开发过金字塔或sqlalchemy。所以我想测试它并查看查询是否返回我期待的,但我不想添加无用的代码来测试我的查询(如新模板,查看等)。我的SQL查询是:
select a.account_type, u.user_id from accounts a inner join account_users au on a.account_id=au.account_id inner join users u on u.user_id=au.user_id where u.user_id = ?;
我的方法是:
def find_account_type_from_user_id(self,user_id):
'''
Method that finds the account type (one/several points of sale...)
from the id of the user who is linked to this account
:param user_id:
:return:(string) account_type
'''
q = self.query(Account)\
.join(AccountUser)\
.join(User)\
.filter(User.user_id == user_id)\
.one()
return q
ps:我已经在互联网上搜索了但我只找到了类似的单元测试等等,我从来没有这样做过。 (Noob对不起)。
答案 0 :(得分:1)
单元测试是测试新服务,修复,重构代码等的必要条件,您需要很好的单元测试集合。 您可以启动here。
答案 1 :(得分:0)
查看SQLAlchemy查询内容的两种方法
将sqlalchemy
日志记录级别设置为INFO - 请参阅说明https://opensourcehacker.com/2016/05/22/python-standard-logging-pattern/
使用pyramid_debugtoolbar,它会显示您的观看的所有查询
使用pshell以交互方式执行查询 - 无需添加视图