27 lines
		
	
	
		
			771 B
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			771 B
		
	
	
	
		
			Python
		
	
	
	
#!/usr/bin/env python3
 | 
						||
# -*- coding: utf-8 -*-
 | 
						||
"""
 | 
						||
验证在未安装 OpenBB 时,OpenBB Tab 的数据加载回退行为。
 | 
						||
该测试不强制要求安装 OpenBB,因此仅检查函数能返回非空 DataFrame。
 | 
						||
"""
 | 
						||
 | 
						||
import importlib
 | 
						||
import types
 | 
						||
import pandas as pd
 | 
						||
 | 
						||
from app.tabs.openbb_tab import _load_price_data
 | 
						||
 | 
						||
 | 
						||
def test_openbb_fallback_without_openbb():
 | 
						||
    # 尝试卸载 openbb 以模拟未安装环境(若本地未安装会抛错,忽略)
 | 
						||
    try:
 | 
						||
        if 'openbb' in list(importlib.sys.modules.keys()):
 | 
						||
            del importlib.sys.modules['openbb']
 | 
						||
    except Exception:
 | 
						||
        pass
 | 
						||
 | 
						||
    df = _load_price_data('AAPL', 180)
 | 
						||
    assert isinstance(df, pd.DataFrame)
 | 
						||
    assert not df.empty
 | 
						||
    assert 'Date' in df.columns and 'Close' in df.columns
 |