问题标签 [pymox]
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 - 如何用 pymox 对这段代码进行单元测试?
所以我已经安装了pymox,我想测试这个方法:
我正在阅读 pymox 文档,但我不知道该怎么做。你能帮我一些示例代码吗?
python - Mox (pymox) 框架的 CreateMockAnything() 的优缺点
首先是问题的原因 - 官方 pymox 文档: https ://code.google.com/p/pymox/wiki/MoxDocumentation
MockAnything部分中有一条声明告诉“除非绝对必须,否则不要使用它!” . 我很有趣为什么会这样?它有一些限制吗?我个人觉得它非常有用。
我有以下情况:我在我的班级中有一个对模块的引用,该模块有一堆我的班级使用的模块级函数。
由于这是一个模块,我无法使用CreateMock()模拟它,因为这不是一种类型。因此,我使用了非常适合这种情况的CreateMockAnything() 。我知道我可以使用以下方法存根模块功能:
但我不喜欢这种方式,因为这里我每次都需要做两个动作。在类中引用模块并使用CreateMockAnything模拟它更简单、更漂亮。
如果我错误打印了某些函数名称,那么期望就会失败(因为正在测试的代码正在调用正确的代码),所以这不是重点……
对于StubOutWithMock:如果我在测试方法中没有注意到一些额外的 db 函数调用,并且不会存根它StubOutWithMock,它将调用真实代码并在 db 中留下一些垃圾。所以还有一点来保护我的解决方案 - 使用CreateMockAnything而不是存根特定方法可以让我完全切断我的数据库依赖关系,而且我还将看到 MockAnything 模拟引发的意外方法调用异常。
那么避免使用CreateMockAnything()的原因是什么?
谢谢,
python - 使用 mox 模拟变量
我想测试这个方法,但是我需要模拟变量dirContent
如何使用 mox 模拟变量?然而,这就是我试图模拟的方式os.listdir
也试过这种方式
但是对正在测试的方法的调用无法识别模拟的discontent
python - 当使用 python mox 模拟对象时,有什么方法可以避免它们都相等(如 __eq__ 中)?
我遇到了一些问题,尽管它们是不同的对象(至少返回),但给定类的几个所有 mox Mock 对象似乎在==
意义__eq__
上mock1 is mock2
是False
相等的。有什么办法可以防止这种行为?
在下面的代码示例中,您可以看到计数是错误的,因为它认为所有的模拟都是相等的:
python - 做monkeyPatch和StubOutwithMock有什么区别?
我在进行单元测试时遇到了这个问题,我很想知道以下两者之间有什么区别?
和
其中 myFunc 是模块中的公共函数,n 是传递给 myFunc 的参数,它返回 someObject。
python-unittest - 使用 pymox 模拟多次调用的函数
我在代码中有一个被调用两次的函数。
get_user_settings
一旦它在我正在测试的函数中被调用,并且第二次某些不同的模块具有再次调用它的函数。
我已经像这样使用 pymox 模拟了它:
模拟适用于我的测试代码的第一次调用,但是当它在 utils 模块中再次调用时,我收到以下错误
python - 使用 pymox 模拟导入的方法
我有一个名为“routine.py”的文件,我想测试它的一个功能。
例程.py
我想测试这个功能routine_function
,但我很难模拟这些导入的方法。因为some_method3
,我用过
这是可能的,因为我可以将模块/类的参数指定为“self”,但是对于其他方法该怎么办?