diff --git a/test/dismiss_test.dart b/test/dismiss_test.dart index 71d6486..ed0b149 100644 --- a/test/dismiss_test.dart +++ b/test/dismiss_test.dart @@ -188,7 +188,9 @@ void main() { await act(tester, () => tester.tap(find.text('O').last)); await settle(tester, () => false, rounds: 5); await act(tester, () => tester.tap(find.text('좌 → 우'))); - await settle(tester, () => find.textContaining('비교하는 중').evaluate().isEmpty, rounds: 200); + // 창이 뜨고 비교가 끝날 때까지 (전체 시험 중 바쁠 때는 창이 늦게 뜬다 - 뜨기 전에도 "비교하는 중" 은 없다) + await settle(tester, () => find.text('rsync').evaluate().isNotEmpty && find.textContaining('비교하는 중').evaluate().isEmpty, + rounds: 300); expect(find.text('rsync'), findsWidgets); await tester.tap(find.text('원본 파일 지우기 (--remove-source-files)')); await tester.pump(); diff --git a/test/explorer_drives_test.dart b/test/explorer_drives_test.dart index 06940ba..5d54c0c 100644 --- a/test/explorer_drives_test.dart +++ b/test/explorer_drives_test.dart @@ -49,12 +49,12 @@ void main() { tester.view.physicalSize = const Size(1600, 900); tester.view.devicePixelRatio = 1; addTearDown(tester.view.reset); - final sw = Stopwatch()..start(); await tester.runAsync(() => tester.pumpWidget(MaterialApp(home: ExplorerPage(c: c)))); await settle(tester, () => find.text('doc.txt').evaluate().isNotEmpty); // Q: 는 끝내 대답하지 않지만 목록 · 두 창은 바로 (Q: 를 기다리지 않음) expect(find.text('doc.txt'), findsOneWidget); - expect(sw.elapsed, lessThan(const Duration(seconds: 5))); + // 걸린 시간 (전체 시험 중 바쁘면 늘어난다) 대신: Q: 가 끝내 대답하지 않은 채로 목록이 떴다 + expect(stuck.isCompleted, isFalse); expect(find.text('Q:'), findsWidgets, reason: '응답 없는 드라이브도 목록에 (확인 중)'); // R: 는 숨기지 않고 "연결 안 됨" await settle(tester, () => find.textContaining('연결 안 됨').evaluate().isNotEmpty);