在Twisted中进行测试时,如何使用@ defer.inlineCallbacks将模拟应用于函数/方法
你好!面临问题。当以扭曲方式编写测试时,无法将@ mock.patch应用于@ defer.inlineCallbacks下的函数/方法。 @ mock.patch将被忽略,测试将输入函数/方法。
示例:
test.py
import mock
from twisted.internet import defer
from twisted.trial import unittest
@defer.inlineCallbacks
def function_with_inlinecallbacks(x, y)
print('Hello Twisted')
def some_function(x, y, z):
.....
v = yield function_with_inlinecallbacks(x, y)
.....
class MyTest(unittest.TestCase)
@mock.patch('function_with_inlinecallbacks')
def test(self, mock):
......
some_function(x, y, z)
......
在这种情况下,测试将忽略模拟并进入函数。
在这种情况下有没有办法嘲笑?
谢谢您的帮助!