问题标签 [magicmock]

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 投票
2 回答
1190 浏览

python - 如何使用方法 MagicMock 对象列表并获取断言计数

我是使用 MagicMock 在 python 中进行单元测试的新手。我有以下代码在 python 中断言正确的方法计数:

我希望shooMethod()在我的单元测试代码中执行该方法的断言调用计数,以查看其中的 N 个对象booObjectList是否执行 N 次调用。上面的函数不是我的单元测试代码。test_methodFoo()这是一种通过在我的单元测试类中创建新方法来测试的方法。我该怎么做?谢谢你的帮助。

0 投票
1 回答
6488 浏览

python - 对于公共方法,Python 模拟补丁无法按预期工作

我正在尝试为我的烧瓶应用程序修补公共方法,但它似乎不起作用。

这是我的代码mrss.feed_burner

这就是我使用它的方式

这是我没有解析的测试。

0 投票
1 回答
4729 浏览

python - Python mock() 不模拟返回值

我在使用 Python mock() 时遇到了一些麻烦,而且我还不够熟悉,无法弄清楚它发生了什么。

我有一个抽象的异步任务类,看起来像:

我想为此类的特定实例修补 createAsyncTask 方法。

我写的代码如下:

当我在队列中打印出 task_ent 时,我得到<MagicMock name='createAsyncTask()' id='140578431952144'>

当我在队列中打印出来cls.createAsyncTask时,我得到<MagicMock name='createAsyncTask' id='140578609336400'>

我究竟做错了什么?为什么 createAsyncTask 不会返回 12?

0 投票
1 回答
348 浏览

python - 如何在模块级别取消设置 mock.MagicMock?

假设有人在 python 文件的头部将模块设置为 MagicMock:

这会导致麻烦,因为当我尝试运行整个单元测试列表时,moduleABC 将是一个模拟。

如何在其余文件中将其取消设置为实际的 moduleABC?

0 投票
1 回答
25 浏览

python - 测试我的对象将命令方法发送到另一个对象

我试图确保 Testme.command() 在 Dependency 实例上调用 bar() ,但我一直在做空。我正在使用 python -m unittest tests.test_config 运行它,并且此代码位于我项目中的 tests/test_config.py 中。

当我运行它时,它会失败,就像 bar() 从未被调用:AssertionError: Expected 'bar' to be called once。调用 0 次。

我应该如何测试 Testme().command() 调用 Dependency().bar()?

0 投票
1 回答
2800 浏览

python - python mock类的默认init参数

我想模拟类构造函数中的默认参数:

我想DefaultConnection在我的单元测试中进行模拟,但是当作为默认值传入时它不起作用。

0 投票
1 回答
2480 浏览

python - Python内部实体模拟

我想测试一个方法,无论它是否调用临时内部对象的特定方法。(ConfigParser.read)

所以对象是在内部创建的,方法退出后就不能从外部访问了。

使用 python 2.7

在 foobar.py

我想测试是否调用了 config.read 。

据我了解,补丁装饰器是为此而制作的,但不幸的是,测试用例接收到的 MagicMock 对象与内部创建的对象不同,我无法靠近方法内部的对象。

我试过这样:

问题是: - mock_foobar 是在 self.myfoobar.method 在内部创建 ConfigReader 之前创建的。- 调试 mock_foobar 时有关于先前调用的内部数据,但没有“读取”属性(用于模拟读取方法的内部 MagicMock)

当然,一种出路是重构并给 .read() 或init () 一个 ConfigReader 对象,但并不总是可以更改代码,我想在不接触模块的情况下掌握方法的内部对象正在测试中。

0 投票
1 回答
3942 浏览

python - 修补python类之外的方法

我有兴趣修补一个文件中由另一种方法调用的方法。示例 - original.py 文件包含 -

我想为这个文件编写单元测试,比如说叫它 test.py

如何使用补丁和模拟模块来测试 original.py。我希望 A() 始终返回 MagicMock() 对象而不是整数。

0 投票
1 回答
1315 浏览

python - 未解决的参考 MagicMock

我想在 Python 测试中模拟一个方法。为了做到这一点,我需要 MagicMock,我尝试像这样导入它:

即使我在 PyCharm 中单击了几次安装,虽然我在 Preferences/Project Interpreter 下看到了 magicmock 0.0.3,但我收到了这个错误:

我在这里看到的导入声明。我错了什么?

0 投票
1 回答
316 浏览

mocking - Python unittest mock:通过参数化类对象模拟类函数?

lib/thing.py

app/thing.py

test/test_thing.py中,我想在lib.thing.Class.class_function1使用模拟的 Class() 对象调用 function2 时进行修补,以引发一个AttributeError应该可以test_function2畅通无阻的 perc。像这样的东西(不起作用):