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
 |