python-3.x - 对象创建的 Python 补丁不起作用
问题描述
应用程序.py
class UnderTest:
def one(self):
print('In one')
email = EmailSender(None, 'messwage');
email.send()
电子邮件发件人.py
class EmailSender:
def __init__(self, config, message):
self.mess = message;
def send(self):
print("should not be invoked")
test_under_test.py
class test_under_test(TestCase):
@patch('EmailSender.EmailSender')
def test_one(self, email):
test = UnderTest()
email.send.return_value = None;
test.one();
EmailSender 的“发送”方法不应该被调用,但是,它正在被调用。当我在 EmailSender.one 方法的变量中调试而不是 Mock 对象时,email
我看到了 EmailSender 的原始对象,补丁在这里没有按预期工作。我应该怎么办?
解决方案
推荐阅读
- regex - 如何使用Cmake字符串正则表达式替换从路径url的多个实例中获取路径url的最后一部分并用它替换整个路径
- python - 当 ttk.Checkbutton 小部件的状态发生变化时,如何编写后续操作?
- python - 您如何使用 scrapy 使用 css 或 xpath 抓取 Amazon Best Seller Rank 字段?
- windows - 为什么 symchk 与 .pdb 一起下载 .exe 和 .dll 文件
- javascript - 根据条件将部分或全部参数发送到函数中
- reactjs - 将 react-dnd 与 react-data-table-component 集成
- assembly - 汇编跳转后比较标志是否被清除?
- firebase - Firebase 通过不经常更改的外部 API 获取和提供数据
- sql - 等效于 ON CONFLICT for UPDATE 语句
- php - PHP fread忽略长度参数