mirror of
https://github.com/goldenfishs/MRobot.git
synced 2026-02-04 18:00:19 +08:00
55 lines
1.9 KiB
Python
55 lines
1.9 KiB
Python
#!/usr/bin/env python3
|
|
"""
|
|
财务界面UI测试脚本
|
|
验证 SegmentedWidget 和 TableWidget 是否正常工作
|
|
"""
|
|
|
|
import sys
|
|
from PyQt5.QtWidgets import QApplication
|
|
from app.finance_interface import FinanceInterface
|
|
|
|
def test_finance_ui():
|
|
"""测试财务界面 UI"""
|
|
app = QApplication(sys.argv)
|
|
|
|
# 创建财务界面
|
|
finance_interface = FinanceInterface()
|
|
|
|
# 验证组件存在
|
|
assert hasattr(finance_interface, 'segmented_widget'), "SegmentedWidget 未创建"
|
|
assert hasattr(finance_interface, 'stacked_widget'), "StackedWidget 未创建"
|
|
assert hasattr(finance_interface, 'records_table'), "records_table 未创建"
|
|
assert hasattr(finance_interface, 'query_result_table'), "query_result_table 未创建"
|
|
|
|
# 验证 SegmentedWidget 项目数
|
|
assert len(finance_interface.segmented_widget.items) == 3, "SegmentedWidget 应该有3个选项卡"
|
|
|
|
# 验证表格列数
|
|
assert finance_interface.records_table.columnCount() == 5, "records_table 应该有5列"
|
|
assert finance_interface.query_result_table.columnCount() == 5, "query_result_table 应该有5列"
|
|
|
|
# 验证标签切换功能
|
|
finance_interface.segmented_widget.setCurrentItem("query")
|
|
assert finance_interface.stacked_widget.currentIndex() == 1, "标签页切换失败"
|
|
|
|
finance_interface.segmented_widget.setCurrentItem("export")
|
|
assert finance_interface.stacked_widget.currentIndex() == 2, "标签页切换失败"
|
|
|
|
print("✓ 所有 UI 组件验证通过")
|
|
print("✓ SegmentedWidget 正常工作")
|
|
print("✓ TableWidget 正常工作")
|
|
print("✓ 标签页切换功能正常")
|
|
|
|
return True
|
|
|
|
if __name__ == "__main__":
|
|
try:
|
|
if test_finance_ui():
|
|
print("\n✅ 财务界面 UI 测试成功!")
|
|
sys.exit(0)
|
|
except Exception as e:
|
|
print(f"\n❌ 测试失败: {e}")
|
|
import traceback
|
|
traceback.print_exc()
|
|
sys.exit(1)
|