问题标签 [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.

0 投票
0 回答
112 浏览

python - 在pytest的starlette应用程序中模拟特定功能?

在一个函数中实现了一个邀请验证系统。我想用 pytest 来模拟它。这是conftest.py

我想修改该应用程序中的特定功能以绕过电子邮件验证。

0 投票
0 回答
131 浏览

python - pytest monkeypatch:如何模拟 spark.sql("query").coalesce(1).write.csv(path, header=True)

我编写了 pyspark 代码,其中涉及收集数据并转换为 CSV 操作。我可以使用以下补丁模拟collect()方法:spark.sql

但是,我在模拟下面的语句时遇到了麻烦,因为它涉及到调用write.csv()

而且由于调用write.csv()我不能coalesce以类似的方式模拟collect调用。

有没有办法做到这一点?

0 投票
1 回答
47 浏览

python - 我如何模拟修补嵌套方法调用

所以这是我想要解决的一个相当“复杂”的测试用例。

我有一个名为 Store 的 Django 模型,该商店有很多方法和字段。我想测试 Store Model 的特定方法,begingget_orders(self)

get_orders(self)方法通过模块实例调用外部 API。

所以我们有 MarketPlace 模块。该 Marketplace 模块有几种方法,例如 get_orders()、create_order() 等。

Store 模型有一个属性,它是 Marketplace 模块的一个实例,并且通过该路由调用该方法。我如何测试Store.get_orders(self)

0 投票
1 回答
234 浏览

python - 如何在python中模拟redis?

我想在处理程序函数中模拟和修补这个 redis_client 以进行单元测试。

类 RedisUtil:sqs = 无

0 投票
3 回答
825 浏览

python - 检查是否在测试期间调用了一次 pytest 夹具

是否pytest提供诸如unittest.mock检查模拟是否实际调用一次(或使用某些参数一次)之类的功能?

示例源代码:

my_package/my_module.py

上述源代码的示例测试代码:

test_my_module.py

0 投票
1 回答
401 浏览

python-3.x - Pytest Cov 报告缺少模拟异常返回

我是一名网络工程师,正在尝试编写一些 Python,所以每天都在学习。我对单元测试和 Pytest 覆盖率报告有疑问。我想我理解单元测试和pytest的概念。

我有一个使用套接字进行 DNS 查找的函数

我写了一个通过良好的单元测试。我正在使用 pytest-mock 来处理用于 DNS 查找的套接字模拟。Side Effect 似乎在嘲笑 Exception 并且我将 return_value 设置为 False 并且我假设我已经断言返回 False ,测试通过了 ok 这就是为什么我假设我的测试是好的。

pytest-cov 报告显示 return False 行未被覆盖。

第 69 行是函数中的以下代码行

任何指针都将不胜感激,为什么 False 的返回没有被声明为已覆盖。就像我上面说的,我对 Python 和编码很陌生,这是我在 Stackoverflow 上的第一个问题。希望我已经解释了我的问题并提供了足够的信息以获得一些指导。

0 投票
1 回答
93 浏览

testing - Pytest BDD - 选择存根或实时 API 调用

我正在开发一些行为驱动开发,即使用 pytest-bdd 的样式测试。我们希望重用相同的功能和或多或少相同的步骤定义来对第三方 API 进行存根和实时调用,即我们希望重用测试代码进行集成和端到端测试。

我想知道是否有关于如何在 pytest_bdd 或 pytest 中处理模拟和真实调用之间交替的约定

这个问题类似:Running pytest tests against multiple backends? 答案是添加一个解析器选项,并pytest_addoption在顶层放置一个钩子conftest.py

0 投票
0 回答
38 浏览

python-3.x - 如何模拟返回对象的函数?

我无法模拟某个函数我无法让断言工作,这是我的设置

在 some_package.some_file.py

在主脚本包中我使用上面的代码如下

现在在单元测试中是我的麻烦所在

在 test_main_script.py

当我运行单元测试时,我得到

0 投票
1 回答
45 浏览

python - 获取在单元测试期间调用方法的值

pytest_mock用来模拟函数调用。我想检查调用以doB()查看它是否使用值 3 调用。我将如何为此编写断言?

0 投票
1 回答
79 浏览

python - 在没有方法调用的情况下模拟 Python 对象

想象一个像这样的类:

对于单元测试,当我们从不调用任何方法时,我们如何模拟Bar对象,我们只是将它作为参数传递给Bazz构造函数?(是的,这并不理想,但是这种模式可以在通过依赖注入将不同对象连接在一起的顶级类中找到)。