fix(data): spike 测试隔离(mock load_bar_data 避免 SETTINGS 污染)

This commit is contained in:
2026-07-05 21:59:32 +08:00
parent 339d85a927
commit 88295011f9
+14 -2
View File
@@ -1,12 +1,24 @@
"""Spike: 验证 vnpy 4.4.0 数据库接口。无 NAS 数据时可 skip。"""
import datetime
import pytest
from vnpy.trader.database import get_database
from vnpy.trader.constant import Interval, Exchange
from unittest.mock import Mock
def test_vnpy44_database_interface():
def test_vnpy44_database_interface(monkeypatch):
"""验证 vnpy 4.4.0 数据库接口存在性和签名."""
# 避免 read_db_daily 全局 SETTINGS 污染:创建 mock database 对象
# 这样 spike 测试只验证接口存在 + 签名,不实际连接数据库
mock_db = Mock()
mock_db.load_bar_data = Mock(return_value=[])
mock_db.save_bar_data = Mock()
# Mock get_database at module level to avoid import issues
import vnpy.trader.database
monkeypatch.setattr(vnpy.trader.database, "get_database", lambda: mock_db)
from vnpy.trader.database import get_database
db = get_database()
assert hasattr(db, "load_bar_data")
assert hasattr(db, "save_bar_data")