问题标签 [flexmock]
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 - Flexmock一个django模型对象给模型对象?
我正在尝试对 django 模型对象进行 flexmock,但是当我模拟它时,它也给了我该对象本身。那我怎么能嘲笑它呢?
所以我用这样的方法创建了一个模型对象
现在当我试图模拟它时,就像这样
bb 的类型仍然是 django 模型对象,它不是 flexmock 对象。我怎样才能成功地模拟它?
python - 模拟不适用于 pytest 和 flexmock
我正在尝试使用 pytest 固定装置来模拟调用open()
,然后在测试拆解时将其重置,但由于某种原因,模拟未应用于测试功能。
这是我所拥有的示例:
而且,如果它很重要,这就是它的function_to_test()
样子:
如果我使用 xUnit 风格的setup_module()
/teardown_module()
函数,也会发生这种情况。但是,如果我将模拟代码放在测试函数本身中(我显然不想这样做),那么它就可以正常工作。
我错过了什么?谢谢!
python - 模拟用户输入()
我正在尝试为我要使用的 python 脚本模拟用户输入py.test
。这是一些代表我要完成的基本代码:
我想模仿用户输入并阅读输出。一个例子可能是这样的:
我还听说这flexmock
可能是内置模拟unittest
系统的更好替代方案,但我会在这一点上采取任何解决方案。
更新:
我玩了更多,并进行了以下测试:
当我运行 py.test 我得到这个结果:
它确实捕获了适当的标准输出调用作为“你太年轻了”。
python - MagicMock 基于输入的返回值
我正在尝试将我的测试从 flexmock 重构为 mock。给定来自 flexmock 的以下语法:
如何使用 Mock 重写它?特别是,如何使用 Mock 将返回值固定到特定输入?
python - 如何为模拟后添加的额外功能编写测试用例
创建一个模拟
我已经使用 flexmock 模拟了 Addition 类。现在假设如果我进一步想确保 add 方法只接收整数值。如何为添加的需求编写测试用例。还是我走错了路?
python - 在 python 模块上使用 flexmock
我一直在互联网上搜索在 python 模块上使用 flexmock 的示例,但所有文档似乎都是针对对象/类的。我想知道是否可以模拟模块返回的一些变量。如果该模块调用另一个模块怎么办?
前任。
所以现在我想通过使用 flexmock 来模拟一些值来分别测试每个函数
那时当对一个对象做同样的事情时,我可以做(比如对象被分配为test_object
)
在some_func
该对象内被调用的位置
但是当我尝试对模块做同样的事情时,我不断得到
FlexmockError: <function function1 at some_address> does not have attribute function_inside_function
我想知道是否可以在模块上使用 flexmock,如果可以。如何?
python - 有没有办法从对象中删除 flexmock?
你已经模拟了这个模块/对象:
有没有办法扭转这个过程,这样当你调用 foo 时,你可以确定你没有遇到一个模拟方法?
这将能够单独测试不同的组件。如果我在哪里命名该方法,我会让它看起来像
但我认为这种方法实际上并不存在。
python - 如何使用 flexmock 模拟被测模块中的类或对象
我想在我正在测试的周围函数的主体中模拟一个函数调用。我需要使用 flexmock 来做到这一点,或者至少知道它是否不可能。以下面这段代码为例。我有 3 个文件。utils.py 具有单个函数run_command
,而 api.py 具有具有单个方法的类 test_api.py。所有这些都是出于演示目的,并不是特别有用,但应该能够描述我的问题
现在 api.py 将使用 util.py 中的 run_command
现在我想为 Api.get_update 编写一个测试,但我不想实际执行 run_command
使用模拟模块,我会像这样编写测试
上述测试按预期工作。run_command
它在被调用时实际上并没有执行get_update
。它使用模拟版本。现在我想用 flexmock 来做这件事。我不知道这是否可能。只是我正在为一个项目做出贡献,并且所有测试都是用 flexmock 构建的,所以我想遵循相同的模式。不幸的是,我找不到解决类似问题的测试。从这个 SO mocking-functions-with-flexmock-in-python,我想出了这个
上述测试失败。run_command
from utils 仍然执行,而不是我的模拟版本。如何使用 flexmock 解决此问题?