Python单元测试(使用SQLAlchemy)不写入/更新数据库?

2024-07-04

我很困惑为什么我的 Python 单元测试在没有实际更新数据库的情况下运行得很好。

我什至可以看到来自 SQLAlchemy 的 SQL 语句并逐步浏览新创建的用户对象的电子邮件 --

...INFO sqlalchemy.engine.base.Engine.0x...954c INSERT INTO users (user_id, user_name, email, ...) VALUES (%(user_id)s, %(user_name)s, %(email)s, ...)
...INFO sqlalchemy.engine.base.Engine.0x...954c {'user_id': u'4cfdafe3f46544e1b4ad0c7fccdbe24a', 'email': u'[email protected] /cdn-cgi/l/email-protection', ...}
> .../tests/unit_tests/test_signup.py(127)test_signup_success()
-> user = user_q.filter_by(user_name='test').first()
(Pdb) n
...INFO sqlalchemy.engine.base.Engine.0x...954c SELECT users.user_id AS users_user_id, ...
FROM users 
WHERE users.user_name = %(user_name_1)s 
 LIMIT 1 OFFSET 0
...INFO sqlalchemy.engine.base.Engine.0x...954c {'user_name_1': 'test'}
> .../tests/unit_tests/test_signup.py(128)test_signup_success()
-> self.assertTrue(isinstance(user, model.User))
(Pdb) user
<pweb.models.User object at 0x9c95b0c>
(Pdb) user.email
u'[email protected] /cdn-cgi/l/email-protection'

然而在同时当我登录到测试数据库时,我这样做not在那里查看新记录。这是我完全不知道的 Python/unittest/SQLAlchemy/Pyramid/PostgreSQL 的某些功能吗?

Thanks.

Jerry


不了解 SQLAlchemy,但这听起来像是测试正在事务中运行,并且该事务从未提交。要么显式回滚,要么在连接关闭时自动回滚。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python单元测试(使用SQLAlchemy)不写入/更新数据库? 的相关文章

随机推荐

  • C# WPF 如何从字节数组加载 FontFamily?

    嗯 我基本上想从字面上嵌入我将在 WPF 应用程序中使用的字体集合 它们存储在我自己的虚拟文件系统 如 WinRAR 中 我只想通过字节数组或内存流加载它们 但是 我还没有找到任何可行的解决方案 我尝试过 PrivateFontCollec
  • RestoreCompletedTransactions() 没有调用 paymentQueue UpdatedTransactions?

    我在 Swift 4 iOS 11 中恢复 IAP 时遇到问题 我的AppDelegate实施SKPaymentTransactionObserver In AppDelegate s didFinishLaunchingWithOptio
  • 如何绕过浏览器每个域 6 个并发连接的限制?

    正如标题所述 如何绕过浏览器每个域 6 个连接的限制 我有一个网络应用程序 需要尽快从服务器下载数据 目前 我一次打开了大约十几个连接 但在网络选项卡中我看到其中几个连接是stalled 铬 或blocked Firefox 显示为灰色 经
  • 是否可以设计一棵节点具有无限多个子节点的树?

    如何设计一棵具有大量 无限数量 分支的树 我们应该使用哪种数据结构来存储子节点 您实际上无法存储无限多个子项 因为这不适合内存 但是 您可以存储无限地许多子节点 也就是说 您可以创建树 其中每个节点可以有任意数量的子节点 没有固定的上限 有
  • 是否可以制作固定的评级栏?

    我正在从网络上获取评级 并希望通过评级栏显示评级 但我的问题是 当我滑动评级栏时 评级栏的评级会发生变化 我希望评级是固定的 并且不会因用户的触摸而改变 有人可以限制对评级栏的控制吗 我怎样才能做到这一点 Use android isInd
  • 使用 SUM() 而不使用 ISNULL() 是否安全

    我正在努力提高 SP 的性能 我对 SUM 和 ISNULL 有疑问 当我对一列求和时 我应该使用 ISNULL 吗 使用不带 ISNULL 的 SUM 安全吗 我的例子如下 SUM ISNULL COL1 0 由于 ISNULL 成本很高
  • 如何修复 Linux 上 npm 上的连接 ENETUNREACH

    我没有使用代理 我只是一个试图学习如何开发的菜鸟create react app在我的机器本地 linux 这是的输出tracepath registry npmjs org 1 LOCALHOST 0 020ms pmtu 1500 1
  • 调整大小然后裁剪 PHP

    好的 基本上我希望所有图像都是 170x170px 的正方形 因此 如果图像不是正方形 我希望调整它的大小 然后在中间裁剪 我花了很多时间玩这个 但一无所获 我已经让它裁剪较大图像的一部分等 但我特别需要调整图像大小 然后裁剪 任何帮助将不
  • AWS Elastic Beanstalk:推出新的 Rails 应用程序

    I just started using AWS elastic beanstalk to host a web app I wanted to make However after following the instructions t
  • C# 真的比 C++ 慢吗?

    我想知道这个问题有一段时间了 当然 C 中的某些内容未针对速度进行优化 因此使用这些对象或语言调整 如 LinQ 可能会导致代码变慢 但是 如果您不使用任何这些调整 而只是比较 C 和 C 中的相同代码片段 很容易将一种代码转换为另一种代码
  • 具有负方差的混合效应模型

    我知道这是一个有点老的问题 但我只是想知道现在是否有解决方案 我通常执行混合效应模型lme4封装有lmer功能 但是 我知道这个函数不允许我在模型中包含负方差分量 我真的很想在 R 模型中包含负方差 有没有人对我会使用哪些包有任何建议 或者
  • Java:是否有可用的工具可以让我输入、存储和计算数学公式?

    即使是非常基本的东西也很好 就像输入和评估类似 x 1 的东西一样 其中 x 是我要指定的变量 我正在考虑为每个公式使用字符串 用于解析它们的正则表达式等来编写自己的代码 但是让我们假设我的目标是尽可能地懒惰 并且如果有另一种选择 尤其是正
  • 如何在android中实现按钮的非矩形形状

    hi i have to realize this layout it has this layout 我可以尝试使用图标作为图像按钮 但按钮的活动状态有点像这个 我应该如何进行 你应该使用selector如下 准备2张按钮状态图片 放入r
  • Pthread Mutex:pthread_mutex_unlock() 消耗大量时间

    我用pthread编写了一个多线程程序 使用生产者 消费者模型 当我使用 Intel VTune profiler 来分析我的程序时 我发现生产者和消费者在 pthread mutex unlock 上花费了大量时间 我不明白为什么会这样
  • 币安 API 密钥

    我在 Binance 上设置了一个只读 API 密钥来访问货币余额等账户信息 但我看不到 JSON 数据 我放入 URL 中的字符串查询返回以下错误 code 2014 msg API 密钥格式无效 我使用的网址是这样的 https api
  • 使用 Curl 自动 Facebook 登录

    我正在尝试使用curl 自动登录facebook 但没有任何效果 我得到的最接近的是我在当前窗口中登录 因此我在 my server com facebooklogin php 上有正常的 facebook 主页 但是当我在新选项卡中打开
  • JAVA 上的 TCP 套接字 - 任何 >= 128 的字节都会被接收为 65533

    我正在 Android 上实现一个服务器 我正在使用 while Thread currentThread isInterrupted try int r String response while r input read gt 0 我有
  • 如何处理发票申请中的价格波动?

    在发票应用程序中 请考虑以下事项 我有一个产品表 其中还包含产品的价格 然后我有一个发票和发票行表 在每个发票行中 我引用产品 ID 和数量 在这种情况下 我不会将产品的价格与发票行一起存储 现在几个月后 如果产品的价格发生变化 任何报告都
  • HashSet 的初始容量

    对于我知道要插入 1000 个整数以防止需要任何内部重建的 HashSet 我应该使用什么初始容量 起初我认为我应该使用 1000 但阅读了采用initialCapacity 参数的构造函数的描述 它说Constructs a new em
  • Python单元测试(使用SQLAlchemy)不写入/更新数据库?

    我很困惑为什么我的 Python 单元测试在没有实际更新数据库的情况下运行得很好 我什至可以看到来自 SQLAlchemy 的 SQL 语句并逐步浏览新创建的用户对象的电子邮件 INFO sqlalchemy engine base Eng