Как применить mocking к функциям / методам с помощью @ defer.inlineCallbacks при тестировании в Twisted - PullRequest
0 голосов
/ 20 февраля 2019

Как применить mocking к функциям / методам с помощью @ defer.inlineCallbacks при тестировании в Twisted

Здравствуйте!Столкнулся с проблемой.При написании тестов в витой форме невозможно применить @ 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)
        ......

В этом случае, тест проигнорирует макет и перейдет в функцию.

Есть ли способ насмешки в таких ситуациях?

Спасибо за помощь!

...