22 lines
519 B
Python

import logging
from io import StringIO
from typing import Tuple, Generator
import pytest
@pytest.fixture
def mock_logger() -> Generator[Tuple[logging.Logger, StringIO], None, None]:
output = StringIO()
logger = logging.getLogger('test_logger')
logger.setLevel(logging.INFO)
for handler in logger.handlers:
logger.removeHandler(handler)
handler = logging.StreamHandler(output)
logger.addHandler(handler)
yield logger, output
logger.removeHandler(handler)
handler.close()