app scaffold
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
// 端到端骨架。来源:conti-docs/09-testing-strategy.md §集成测试。
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
// 09 的原则:**集成测试只覆盖"跨层出问题就没人发现"的主干链路**,不覆盖分支。
|
||||
// 现在能跑通的只有第一段(启动 → 停在登录页),后面几段等真实后端环境和测试
|
||||
// 账号到位后逐段打开——测试打桩到"点了按钮什么都没验证"是负资产。
|
||||
//
|
||||
// 跑法:
|
||||
// flutter test integration_test/app_test.dart \
|
||||
// --flavor dev -t lib/main_dev.dart --dart-define-from-file=env/dev.json
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
import 'package:app/bootstrap.dart';
|
||||
import 'package:core_foundation/core_foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:integration_test/integration_test.dart';
|
||||
|
||||
void main() {
|
||||
IntegrationTestWidgetsFlutterBinding.ensureInitialized();
|
||||
|
||||
testWidgets('冷启动后停在登录页', (WidgetTester tester) async {
|
||||
await bootstrap(AppEnv.fromDartDefine(flavor: 'dev'));
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
// 没有 token → SessionUnauthenticated → redirect 到 /login(04)。
|
||||
expect(find.byKey(const Key('login_username')), findsOneWidget);
|
||||
});
|
||||
|
||||
// TODO(09): 登录 → 选店 → 工作台 → 采购下单 → 支付回跳。
|
||||
// 需要 UAT 环境的常驻测试账号和一家固定测试门店;账号一变整条链路就红,
|
||||
// 所以在账号方案定下来之前不写死。
|
||||
}
|
||||
Reference in New Issue
Block a user