У меня есть тест, который изначально выглядел примерно так:
@mock.patch('serial.Serial')
class TestApi:
def test_something(self, mock_serial):
# The Gadget class opens a serial port with serial.Serial()
gadget = Gadget('dummy')
mock_serial.assert_called_with('dummy')
Это прекрасно работает ... но мне понадобится тот же gadget
объект в любом другом тесте, поэтому яхотел переместить создание объекта в setup_method
метод, который pytest будет вызывать перед каждым тестом. Например:
@mock.patch('serial.Serial')
class TestApi:
def setup_method(self):
# The Gadget class opens a serial port with serial.Serial()
self.gadget = Gadget('dummy')
def test_something(self, mock_serial):
mock_serial.assert_called_with('dummy')
Похоже, что при вызове setup_method
макеты не действуют, поэтому вышеприведенное не будет выполнено с:
E serial.serialutil.SerialException: [Errno 2] could not open port dummy: [Errno 2] No such file or directory: 'dummy'
Есть ли способиспользовать макеты уровня класса из setup_method
?