Files
ashare-data/tests/test_sector_merge.py
T
2026-05-17 15:51:10 +08:00

29 lines
1.1 KiB
Python

"""验证 sector.fetch_sector 概念板块抓取逻辑"""
from unittest.mock import patch, MagicMock
from src.fetchers import sector
def test_concept_skips_when_enough_data():
"""已有 >= 300 个概念时,跳过抓取"""
mock_session = MagicMock()
mock_session.execute.side_effect = [MagicMock(scalar=MagicMock(return_value=150000)),
MagicMock(scalar=MagicMock(return_value=350))]
with patch.object(sector, "get_session", return_value=mock_session), \
patch.object(sector, "_fetch_concept_list") as mock_list:
sector.fetch_sector()
mock_list.assert_not_called()
def test_concept_fetches_when_insufficient():
"""概念数 < 300 时,执行抓取"""
mock_session = MagicMock()
mock_session.execute.side_effect = [MagicMock(scalar=MagicMock(return_value=0)),
MagicMock(scalar=MagicMock(return_value=0))]
with patch.object(sector, "get_session", return_value=mock_session), \
patch.object(sector, "_fetch_concept_list", return_value=[]):
sector.fetch_sector()