widget_test.dart 1.1 KB

12345678910111213141516171819202122232425262728293031
  1. // 首页冒烟测试:验证 7 种支付入口均渲染。
  2. //
  3. // 注意:测试环境无后端,HomePage 的商品拉取会失败并回退到本地演示数据,
  4. // 不影响 7 个支付按钮的断言。
  5. import 'package:flutter/material.dart';
  6. import 'package:flutter_test/flutter_test.dart';
  7. import 'package:flutter_paydemo/pages/home_page.dart';
  8. void main() {
  9. testWidgets('HomePage renders 7 payment buttons', (tester) async {
  10. await tester.pumpWidget(const MaterialApp(home: HomePage()));
  11. // 等待商品加载(网络失败回退演示数据)
  12. await tester.pump(const Duration(seconds: 1));
  13. await tester.pump(const Duration(seconds: 1));
  14. // 7 种支付方式按钮
  15. expect(find.text('微信支付'), findsOneWidget);
  16. expect(find.text('支付宝支付'), findsOneWidget);
  17. expect(find.text('云闪付'), findsOneWidget);
  18. expect(find.text('Stripe 支付'), findsOneWidget);
  19. expect(find.text('Apple Pay'), findsOneWidget);
  20. expect(find.text('Google Pay'), findsOneWidget);
  21. expect(find.text('网页收银台'), findsOneWidget);
  22. // 商品信息展示
  23. expect(find.text('支付演示'), findsOneWidget);
  24. });
  25. }