У меня есть следующий тестовый класс для pytest:
class TestConnection(AsyncTestCase):
'''Integration test'''
@gen_test
def test_connecting_to_server(self):
'''Connecting to the TCPserver'''
client = server = None
try:
sock, port = bind_unused_port()
with NullContext():
server = EchoServer()
server.add_socket(sock)
client = IOStream(socket.socket())
#### HERE I WANT TO HAVE THE caplog FIXTURE
with ExpectLog(app_log, '.*decode.*'):
yield client.connect(('localhost', port))
yield client.write(b'hello\n')
# yield client.read_until(b'\n')
yield gen.moment
assert False
finally:
if server is not None:
server.stop()
if client is not None:
client.close()
Внутри этого класса, видимо, ExpectLog не работает, поэтому после дня копания в документации по pytest я обнаружил, что есть это приспособление каплога, которое вы можетевставил в вас методы для доступа к захваченным журналам.Кажется, это работает, если у меня есть тестовая функция, к которой я добавляю аргумент caplog, но как сделать доступным приспособление caplog в методах тестового класса, подобных приведенному выше?