82得票2回答
Python mock对元组的call_args_list进行拆分以便用于参数断言

我在处理Mock.call_args_list返回的嵌套元组时遇到了一些问题。def test_foo(self): def foo(fn): fn('PASS and some other stuff') f = Mock() foo(f) ...

27得票4回答
Python - 如何断言一个模拟对象没有使用特定参数进行调用?

我现在意识到unittest.mock对象有一个可用的assert_not_called方法,但我需要的是assert_not_called_with。是否有类似的东西?我在Google上搜索了一下,没有找到任何信息,当我尝试使用 mock_function.assert_not_called...

23得票1回答
当Python的Mock对象同时有返回值和副作用列表时会发生什么?

我对一些测试代码的运行情况感到困惑,它看起来像这样:import pytest from unittest.mock import MagicMock from my_module import MyClass confusing_mock = MagicMock( return_v...

18得票1回答
python mock assert_called_with

我试图理解mock中的assert_called_with,但我写的代码会抛出一些错误。 import os import twitter URL = "http://test.com" def tweet(api, message): if len(message) > ...

17得票3回答
Python单元测试:如何对包含数据库操作的模块进行单元测试?

我正在使用pymysql客户端库连接真实数据库。我在一个模块中有一个函数,在其中使用pymysql连接到数据库并仅执行数据库插入操作。如何在Python中对此函数进行单元测试,而不会触发真实数据库?import pymysql def connectDB(self): # Connect ...

15得票2回答
在同一模块中定义的函数如何进行Python补丁测试

我已经与Python的unittest.mock库相当熟悉了,但现在我正在为可能无法正确处理的用例而挣扎。 考虑一个包含以下片段的文件mymodule/code.py:def sum(): pass def mul(): pass def div(): pass def g...

14得票2回答
Python SQLAlchemy模拟测试

这是我制作的使用链式DB查询调用的方法。import math def get_all_keys(): db_session = DBSession() keys = db_session.query(SomeClass).all() 我应该嘲笑 DBSession().que...

13得票1回答
在单元测试中模拟对象时如何避免类型警告?

假设我有一个函数,它接受一个复杂对象并对其进行某些操作: 假设我有一个函数,它接收一个复杂对象,并对其执行某些操作:def foo(bar: SomeComplexObject): ... 在单元测试中,bar 将被替换为模拟对象,但现在会引发类型警告。我应该简单地忽略或抑制这些警...

12得票4回答
Python asyncio:如何模拟__aiter__()方法?

我有一个程序,使用aiohttp监听WebSocket上的消息。 它看起来像这样: async for msg in ws: await self._ws_msg_handler.handle_message(ws, msg, _services) 其中ws是aiohttp.w...

12得票1回答
单元测试和模拟,如何重置它们?

我正在测试一个需要在构造函数中使用模拟对象的类,所以通常我会这样做: class TestActionManager(unittest.TestCase): @patch('actionlib.SimpleActionClient', return_value=create_auto...