使用autospec访问模拟方法的结果

时间:2017-02-10 19:47:38

标签: django unit-testing mocking

进入集成测试:

with mock.patch.object(
   EmailMultiAlternatives, 'send', autospec=True,
   side_effect=EmailMultiAlternatives.send
) as mocked_mail_send:
   method_using_that_send()
   mocked_mail_send             # how to access here send's return value ?

模拟的目的是验证我的方法是否会调用外部方法,但我不想完全模拟send方法并覆盖原始的return_value。

1 个答案:

答案 0 :(得分:0)

发现在模拟中无法实现。

通过将测试拆分为:

解决
  • 使用模拟send
  • 进行单元测试
  • 集成测试仅测试来自外部send的结果。