161得票3回答
Python返回的是MagicMock对象,而不是return_value。

我有一个Python文件 a.py,其中包含两个类A和B。 class A(object): def method_a(self): return "Class A method a" class B(object): def method_b(self):...

32得票2回答
模拟整个Python类

我想在Python中进行一个简单的测试,但我不知道如何完成mocking过程。这是类和def代码:class FileRemoveOp(...) @apply_defaults def __init__( self, source...

31得票3回答
Python如何检查方法是否被调用但不使用mock函数屏蔽掉

class A(): def tmp(self): print("hi") def b(a): a.tmp() 检查 b 函数是否调用了 tmp 方法,建议的方法是a = A() a.tmp = MagicMock() b(a) a.tmp.assert_ca...

27得票2回答
用Python模拟文件打开

我试图模仿文件打开,所有的例子都显示我需要@patch('open', create=True) 但我一直都在遇到这个问题Need a valid target to patch. You supplied: 'open' 我知道 patch 需要 open 的完整点路径(full dott...

22得票1回答
Python的mock patch对于公共方法的效果不如预期

我正在尝试为我的Flask应用程序打补丁公共方法,但似乎不起作用。 这是我在mrss.feed_burner中的代码def get_feed(env=os.environ): return 'something' 这是我如何使用它@app.route("/feed") def ...

13得票1回答
Magic mock assert_called_once vs assert_called_once_with 奇怪行为

我注意到在Python中,assert_called_once和assert_called_once_with存在奇怪的行为。这是我的一个非常简单的测试: 文件 module/a.pyfrom .b import B class A(object): def __init__(sel...

9得票3回答
使用pytest模拟导入的函数

我想测试我编写的电子邮件发送方法。在文件format_email.py中,我导入了send_email。 from cars.lib.email import send_email class CarEmails(object): def __init__(self, ema...

9得票1回答
在Python的单元测试中,将整数与MagicMock进行比较不起作用

我有一个类,使用一个类变量来选择要执行的逻辑。 #in file1: class SomeHelper(): def __init__(self): self.my_var = 0 #in file2: import file1 class MyClass():...

9得票2回答
第一次调用后抛出异常

我有一个循环,用于向zip文件添加记录。我已经模拟了我的zipfile对象,并希望引发异常来验证处理大型zip文件的逻辑是否正确。 使用MagicMocks或普通mocks,是否有一种方法可以接受第一次调用,但在第二次调用时引发异常?

7得票2回答
在Python中断言模拟函数是否被调用,并传入JSON字符串。

我正在使用Python编写一些单元测试,使用MagicMock来模拟接受JSON字符串的方法。在我的单元测试中,我希望断言该方法被调用时给定的参数,然而在assert语句中遇到了问题,因为字典中对象的顺序并不重要,除非是针对字符串的assert语句。以下是我尝试达成目标的简化示例。 mock...