Patch Decorator - побочный эффект без параметров для работы - PullRequest
0 голосов
/ 21 ноября 2019

Я хочу украсить свой тест для исправления определенной функции. Я не заинтересован в получении фиктивного объекта в качестве параметра функции. В этом примере я хочу иметь возможность пропустить параметр mock_my_foo:

def my_foo(self):
    print "My side_effect"

class SampleTest(TestCase):
   @patch('some_module.foo', side_effect=my_foo)
   def test_something(self, mock_my_foo):
      pass

Я использую Python 2.7

1 Ответ

0 голосов
/ 21 ноября 2019

Я смог сделать это, указав new параметр патча и назначив ему фиктивный объект, для которого уже установлен side_effect:

def my_foo(self):
    print "My side_effect"

class SampleTest(TestCase):
    @patch('some_module.foo', new=Mock(side_effect=my_foo))
    def test_something(self):
        pass
...