问题标签 [pytest-mock]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
pytest - Pytest-mock 不修补类模块中的导入函数
pytest-mock 补丁无法按预期工作。我的代码:
utils.py
:
classes.py
:
test_classes.py
:
这失败了,返回的是42
而不是21
.
python - 使用pytest,如何正确模拟外部模块的功能?
问题描述
我正在使用 ibis 框架,我想模拟它进行一些单元测试。
我想模拟两个函数 un ibis:
和
这些函数在自定义类中使用:
基于这个文档,我以我的模拟测试文件结束(这个测试是 WIP,这就是它没有做太多的原因):
但是,在该测试文件上运行 pytest 时,出现以下错误:
\anaconda\lib\site-packages\ibis\ init .py'> 没有属性“hdfs_connect”
问题
就我而言,我怎样才能为我的单元测试正确地模拟这两个函数?
编辑 1
看来我的本地机器没有我们集群使用的相同版本的 ibis。
我的本地是1.4.0
,而集群是0.12.0
. 朝这个方向研究。
python - 修补已修补的类的方法
我正在尝试修补一个类及其方法,这是我正在尝试做的一个示例:
我有这个类,我想单独修补这个类和它的方法,我没有创建一个假类,因为在我的例子中,这个类很复杂,所以我希望创建这个类,然后只修补一个方法有些有课,我正在尝试这样做:
另外,我试图做这样的事情:
在这两种情况下,我得到了这个错误:
我正在修补该方法,因为我有另一个要测试的另一个类的方法
python - 在单元测试中,如何在单元测试中传递模拟对象以便它可以在'with'上下文中使用?
我正在尝试为以下功能编写单元测试:
我的单元测试文件:
当我在 pytest 中运行此测试时,出现以下错误。
这里的问题是我们正在传递一个模拟对象,该对象将在“with”上下文中使用。那时,我们收到上述错误。
如何模拟这样的对象以便它可以在with
上下文中使用?
版本信息:
python 3.7
pytest 6.2.3
python-3.x - 如何为 grpc 单元测试(python)创建模拟上下文
在正常的 grpc 通信中,grpc 会自动创建一个上下文来处理请求。如何创建一个模拟上下文以通过我的单元测试调用传递,以便我的服务函数有一个要操作的对象?
目前,如果代码接收到 NoneType 作为上下文,我会跳过上下文调用,但这不是一个好的解决方案。
python - 如何在同一个函数上使用模拟和参数化
我试图在我的代码中模拟 3 个函数并参数化另外两个变量。
这里有一个例子:
现在我想参数化 a,b 变量,这样我就可以用几个不同的测试用例运行代码。
我收到此错误:
TypeError: test_function() takes exactly 6 arguments (4 given)
有谁知道为什么?
python - 在单元测试中测试 postgresql - 模拟和单元测试库
我将在 Python 中启动一个项目,该项目将处理大量数据库操作,这意味着我必须编写大量单元测试。
我正在阅读有关模拟数据库连接、游标和为我的单元测试执行 sql 查询的信息(即将出现)。
我遇到了不同的库来做到这一点:
https://github.com/tk0miya/testing.postgresql - 这似乎是最好的,因为我可以在用户空间中启动一个数据库实例,但在 2017 年的最后一次提交中似乎没有维护。(顺便说一句,这就是我为我所做的Golang 项目 - 使用 Golang Docker API 作为设置在 Docker 中启动整个 Postgres 实例)
许多博客推荐
pytest-postgresql
,但是,我一直无法理解如何使用它。这似乎是一个非常活跃的项目,最后一次提交是在几个月前。一些博客也建议
pytest-pgsql
,与上面类似,我无法理解如何设置和使用它。
任何其他建议也将受到欢迎。
python - 模拟或避免 pytest 的 cognito 身份验证和组权限
我有一个烧瓶应用程序,我正在尝试为我构建的服务实现 pytest。所有路由都需要 cognito 身份验证或 cognito 组权限。有没有办法可以模拟或避免认知?从我在网上阅读的所有文章中,到目前为止没有任何帮助。
下面的示例将如何实现 pytest?
python - 对进行 API 调用的函数的返回值进行 Pytest
我有一个进行 API 调用的函数,我想response
将该 API 调用的返回值 () 设为{"message":"NoPong"}
这样,以便ValueError
引发 。到目前为止,我有
我得到的pytest结果是
为什么 pytest 抱怨我的_check_connection
功能?它使用 key 正确访问字典message
,并且在 pytest 之外工作。
python - Pytest mock - 在上下文管理器中输入 __enter__ 时返回其他对象?
在我的代码中,我使用了一些具有上下文管理器的 3rd 方类,例如,我将它与with
.
我想测试使用该对象的方法,所以我编写了一个模拟对象,我希望将其用于代替 3rd 方库类。
如何修补和模拟它,以便在__enter__
调用时返回我的对象?