问题标签 [mox]

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 回答
5944 浏览

python - 如何使用 mox 模拟类属性?

我有一堂课:

使用moxand py.test,我如何模拟出来myproperty

我试过了:

但两者都失败了AttributeError: can't set attribute

0 投票
3 回答
2634 浏览

python - 使用 pymox 模拟 urllib2.urlopen 和 lxml.etree.parse

我正在尝试测试一些使用 urllib2 和 lxml 的 python 代码。

我看过几篇博客文章和堆栈溢出文章,人们希望使用 urllib2 测试抛出的异常。我还没有看到测试成功调用的示例。

我走的是正确的道路吗?

有没有人建议让它工作?

这是我到目前为止所拥有的:

它失败了:

这是因为 response.read() 没有返回我期望它返回的内容。

0 投票
2 回答
5015 浏览

python - 如何使用 Mox 模拟模块函数并允许以几乎任何方式调用它

我有一个函数 A 多次调用另一个函数 B。我想以这样一种方式模拟 B ,即任何数量的具有正确数量的参数的调用,无论值如何,都将返回一个固定的值并被视为正确的。

函数是否被调用或调用多少次不是规范的一部分。

0 投票
2 回答
1189 浏览

python - 使用 Mox 和 Python 跨模拟对象测试调用顺序

我正在测试一个函数,该函数从一个辅助对象获取骨架对象,使用第二个辅助对象对其进行修改,并将修改后的对象传递回第一个辅助对象。类似于以下内容:

使用 Python 和 Mox,我们可以通过以下方式进行测试:

...但这并没有发现在modifier.modify() 之前无意中调用了store.update() 的错误。在 Mox 中,有没有一种好方法可以检查多个模拟上调用的方法的顺序?像 EasyMock 的 MocksControl 对象?

0 投票
2 回答
12648 浏览

python - Python SQLAlchemy - 模拟模型属性的“desc”方法

在我的应用程序中,每个模型都有一个包含常用查询的类(我猜它有点像 DDD 语言中的“存储库”)。这些类中的每一个都被传递给 SQLAlchemy 会话对象,以在构造时创建查询。我很难确定在我的单元测试中运行某些查询的最佳方式。使用无处不在的博客示例,假设我有一个带有列和属性“日期”和“内容”的“发布”模型。我还有一个带有“find_latest”方法的“PostRepository”,它应该按“日期”降序查询所有帖子。它看起来像:

我在模拟 Post.date.desc() 调用时遇到了麻烦。现在我正在为我的单元测试中的 Post.date.desc 修补一个模拟,但我觉得可能有更好的方法。

编辑:我将 mox 用于模拟对象,我当前的单元测试看起来像:

这确实有效,虽然感觉很难看,我不确定为什么没有“Post.date.desc().AndReturn('test')”的“AndReturn('test')”片段会失败

0 投票
8 回答
40158 浏览

python - 在单元测试中模拟 open(file_name)

我有一个源代码可以打开一个 csv 文件并设置一个值关联的标题。源代码如下:

我试图模拟以下语句

如何模拟 open(...) 函数?

0 投票
2 回答
945 浏览

django - 使用 Mox 模拟 Django 查询

我正在尝试使用 Mox 模拟 django 过滤器查询。我按照 Mox 网站上的说明进行操作,但是,由于我的 django 查询是一个链式方法,它抱怨 AndReturn() 方法不存在。

这是我的方法:

在我的单元测试中,我试图模拟 filter 方法以返回一个空列表。

当我运行我的测试用例时,出现以下错误: AttributeError: 'QuerySet' object has no attribute 'AndReturn'

请注意,由于数据库表、oracle 数据库和其他复杂性的数量很大,因此必须在不创建数据库的情况下运行此单元测试。

0 投票
1 回答
1056 浏览

python - 模拟还是存根?

我有一个方法可以在其中调用另外两个方法。

我在单元测试方面不是很有经验,也从未使用过 Mocks 和 Stubs。

我不太确定如何为我的第一种方法创建单元测试。由于 method_one 和 method_two 多次访问数据库并且它们非常昂贵,因此我决定使用 mox 创建一个 mock 或 stub 以消除访问数据库的需要。

如果有使用 Mocks 和 Stubs 经验的人给我一些关于在我的案例中使用 mocks 和 stubs 的提示,我将非常感激。

0 投票
2 回答
2303 浏览

python - 使用 mox 模拟一个由 __init__ 调用的方法

我想在一个由init方法调用的类中存根一个方法。

根据 Mox 文档,您可以通过实例化对象然后使用 StubOutWithMock 方法来模拟方法。但在这种情况下,我不能这样做:

还有其他方法可以消除该方法吗?

0 投票
1 回答
1436 浏览

python - 在 Python 中模拟对象

我是 Python 中单元测试和模拟对象的新手。我有一个需要为其创建单元测试的功能。

我想创建一个虚拟对象(材质)并将其传递给 BuildBall(),这样我就可以预测结果在我的单元测试中会是什么样子。

在这种情况下,我不太确定如何将虚拟对象传递给我的方法。知道我是否可以使用 mox 在我的情况下创建一个虚拟对象?

提前致谢