问题标签 [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.
python - 修补 2 个对象时,第二个返回第一个修补值
我正在为我必须修补 2 个对象的功能之一编写 UT。
这给出了错误:
当我访问第二个参数时,意味着mock_gridfs
它为什么返回Mock
对象MongoClient
?
python - Python 返回 MagicMock 对象而不是 return_value
我有一个a.py
包含两个类A
和B
.
我想通过模拟method_b
在课堂B
上进行单元测试A
。以下是testa.py
用于此目的的文件内容:
我希望得到Mocked A
输出。但我得到的是:
我在哪里做错了?
python - 在python中打开模拟文件
我正在尝试模拟打开文件,所有示例都表明我需要
但我不断得到
我知道补丁需要完整的虚线路径open
,但我不知道它是什么。事实上,我什至不确定这是否是问题所在。
python - Python模拟参数
我有一些调用 HTTP 请求的代码,我想对一个负面案例进行单元测试,它应该为 404 响应引发特定异常。但是我试图弄清楚如何模拟参数,以便它可以HTTPError
在调用函数中引发副作用,模拟对象似乎创建了一个可调用函数,它不是它接受的参数,它只是一个标量值。
python - 为什么补丁库的行为会根据值的导入方式而改变?
库中的patch
函数mock
对事物的导入方式很敏感。为什么我不能只使用最初定义函数的完全限定名称,而不管它是如何在其他模块中导入的,有什么深层次的原因吗?
使用“模块导入”工作正常
补丁示例.py:
内部.py:
运行python patch_example.py
只是输出成功。
但是,更改导入可能会产生非常严重的后果
使用模块别名仍然有效
但是,直接导入符号需要您更改完全限定名称。
直接导入,inner.inner
作为完全限定名称。
生产
如果我将完全限定路径更新为patch_example.inner
,补丁仍然失败。
不过,使用__main__.inner
我的完全限定名称修补正确的东西。
打印“成功”
那么,为什么当from inner import inner
使用原始符号的完全限定名称inner.inner
或使用主 python 模块的名称而不是使用 inner 导入时,我不能修补它的值__name__
?
在 OS X 上使用 Python 2.7.12 测试。
python - Mock entire python class
I'm trying to make a simple test in python, but I'm not able to figure it out how to accomplish the mocking process.
This is the class and def code:
And this is my test for the execute function:
Since the execute method try to make a connection, I need to mock that, I don't want to make a real connection, just return something mock. How can I make that? I'm used to do testing in Java but I never did on python..
python - pytest:模拟返回具有特定属性的模拟
我发现我经常在测试中一次又一次地使用相同的模式:
它将用于测试(带有补丁)该类型的代码:
有什么办法可以使“双重模拟”的东西更短吗?
django - MagicMock 没有在 django 信号中调用
我有一些模型
用测试
但是 pre_save 信号实际上正在发出并点击提供的 url,并没有得到模拟响应
我相信这与 ; 的范围有关patch
。但是,我不确定如何解决它。
python - 如何在 Easymock 中模拟多个返回值
我是一个 python 新手,正在尝试模拟 process.communicate 方法,但我不知道如何从模拟中返回多个值。我接近它的方式是
我收到的错误消息是:
有人可以指出我在做什么错吗,我尝试过使用和不使用方括号和花括号返回。
python - 模拟python类字典
我对python相当陌生。我正在尝试使用模拟来编写单元测试。这是代码的模式。
我想为 func1 编写一个单元测试。
我将如何使用模拟来模拟cl().meth1(v)