Files
NebulaShell/oss/tests/test_logger.py
2026-05-04 21:19:34 +08:00

61 lines
1.5 KiB
Python

"""Tests for Logger"""
import os
import pytest
from io import StringIO
from oss.logger.logger import Logger, Log
class TestLogger:
def test_logger_initialization(self):
logger = Logger()
assert logger is not None
def test_logger_warn(self):
logger = Logger()
logger.warn("Test warning")
# 不抛出异常即通过
def test_logger_debug(self):
logger = Logger()
logger.debug("Test debug")
# 不抛出异常即通过
def test_logger_warn_with_tag(self):
logger = Logger()
logger.warn("Test warning", tag="TEST")
# 不抛出异常即通过
def test_logger_debug_with_tag(self):
logger = Logger()
logger.debug("Test debug", tag="TEST")
# 不抛出异常即通过
def test_get_log_format_json(self):
# Logger 类没有 _get_log_format 方法,测试 Log 类的基本功能
assert Log is not None
def test_logger_json_format(self):
logger = Logger()
assert logger is not None
def test_logger_output(self):
log_capture = StringIO()
# 测试 Log 类的输出
import sys
old_stdout = sys.stdout
sys.stdout = log_capture
try:
Log.info("test", "Test message")
output = log_capture.getvalue().strip()
assert "[test]" in output
assert "Test message" in output
finally:
sys.stdout = old_stdout
if __name__ == '__main__':
pytest.main([__file__, '-v'])