问题标签 [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 投票
1 回答
1934 浏览

python-3.x - Python HTTP Post 方法将响应作为magicmock 对象而不是值返回

我试图在使用 POST 方法触发某些 API 后检查响应状态代码,响应状态代码是 Magicmock 实例类型,我正在使用在 python 2 中工作但引发 TypeError 的比较运算符检查状态代码是否介于 400 和 500 之间在蟒蛇 3

下面的代码适用于 python 2

但是当在 python 3 中执行时,引发

TypeError:'int'和'MagicMock'的实例之间不支持'<='

BMRAPI 类(对象):root_url = 无

下面是单元测试用例

0 投票
1 回答
258 浏览

python - 无法访问在运行时设置的模拟属性

我为带有模拟对象的方法运行了一些单元测试。在方法中,设置了属性,但我似乎无法在单元测试中访问它们。当我尝试时,我得到一个模拟对象,而不是我试图访问的字符串

这是我的单元测试

我正在测试的方法是

当我运行单元测试时,我得到了这个错误

0 投票
1 回答
227 浏览

python - 将 SQLAlchemy `and_` 与 MagicMock 一起使用

我有一个我想模拟的 SQLAlchemy 调用。

我正在使用 MagicMock 来模拟这个调用并给它一个返回值。我遇到的问题是当我添加and_.

为没有的调用设置返回值and_很简单:

当我尝试模拟时,and_我从 SQLAlchemy 中得到一个错误。

sqlalchemy.exc.ArgumentError: SQL expression object or string expected, got object of type <class 'unittest.mock.MagicMock'> instead

我尝试了不同的变化,但无济于事......例如:

mock_model_class.query.filter().and_().all.return_value
mock_model_class.query.filter(and_).all.return_value

我缺少一些语法吗?

0 投票
1 回答
1142 浏览

python - MagicMock 在 python 3.x 中获取数据的响应

我有以下两个函数,我正在尝试使用 magicMock 编写单元测试用例。

我正在尝试编写单元测试案例以使用 MagicMock 获取响应代码和文本:

但我没有得到这个工作。上述方法无法模拟resp.text.

0 投票
1 回答
376 浏览

python-3.x - 如何在函数python中MagicMock函数

我有一个模块A,其中包含以下两个功能:

我编写了单元测试用例如下:

当我运行单元测试用例时,尽管 dicts 包含该值,但我遇到了以下错误:

0 投票
1 回答
89 浏览

python - 根据不同的输入参数模拟Python函数unittest python

我有一个实用函数,它接受参数大小写并相应地返回值

我有一个使用上述功能的主要功能

现在我正在使用 unittest.Mock 对get_data()模块进行单元测试。我无法将值传递给id 和 type

我尝试使用side_effect函数并面临根据输入参数的不同值模拟get_sport_associated_value()的问题。

问题 2:在这种情况下使用mockmock.magicmock的最佳方法是什么?

感谢单元测试的任何帮助谢谢

0 投票
1 回答
60 浏览

python - 在 mock_post 中访问多个调用

我有一个触发两个发布请求的功能,例如:

在我的单元测试中,我有这样的东西:

最终,我希望断言第一篇文章的 URL 是“google.com”。我怎样才能做到这一点?

0 投票
1 回答
1302 浏览

python - 属性的魔术模拟设置值仅获取第一个值

我正在使用 pytest3.7 进行测试。我想模拟res,这是来自的返回值get_res_functionres.property1[key1][keyN].property2是我要模拟的值。这是我的测试:

但是,我想模拟的两个值都只使用第一行模拟的值,这意味着mock_res.property1["key1"]["key2"].property2 = "11111", mock_res_property1["key1"]["key3"].property2 = "11111" 如果在测试代码中反转它,意味着将“22222”放在“11111”之前,

那么所有结果都是“22222”,有什么问题?

0 投票
1 回答
377 浏览

python - 模拟 django Formcleaned_data 字段

我有一个像这样的简单 django 表单:

我的观点是这样使用它的:

我想测试我的观点,而不关心表单的实际作用。这是我的测试到目前为止的样子

但是,这不起作用,因为form.cleaned_data直到form.is_valid()被调用才设置。form.cleaned_data如果属性一开始不存在,我该如何模拟它?

0 投票
2 回答
353 浏览

python - 如何模拟 multiprocessing.Event.is_set() - AttributeError

我正在尝试模拟一个multiprocessing.Event对象,以便调用在第一次迭代时event.is_set()返回 False,在第二次迭代时返回 true。我在以下尝试中失败了:

我最终得到了错误:

我无法覆盖MyClassUnderTest.event,因为事件对象被立即使用,所以我试图覆盖整个multiprocessing.Event类。