| // Copyright 2014 The Flutter Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| import 'package:flutter/material.dart'; |
| import 'package:flutter_test/flutter_test.dart'; |
| import 'package:integration_test/integration_test.dart'; |
| |
| import 'package:integration_test_example/main.dart' as app; |
| |
| /// This file is placed in `test_driver/` instead of `integration_test/`, so |
| /// that the CI tooling of flutter/plugins only uses this together with |
| /// `failure_test.dart` as the driver. It is only used for testing of |
| /// `package:integration_test` – do not follow the conventions here if you are a |
| /// user of `package:integration_test`. |
| |
| // Tests the failure behavior of the IntegrationTestWidgetsFlutterBinding |
| // |
| // This test fails intentionally! It should be run using a test runner that |
| // expects failure. |
| void main() { |
| IntegrationTestWidgetsFlutterBinding.ensureInitialized(); |
| |
| testWidgets('success', (WidgetTester tester) async { |
| expect(1 + 1, 2); // This should pass |
| }); |
| |
| testWidgets('failure 1', (WidgetTester tester) async { |
| // Build our app and trigger a frame. |
| app.main(); |
| |
| // Verify that platform version is retrieved. |
| await expectLater( |
| find.byWidgetPredicate( |
| (Widget widget) => |
| widget is Text && widget.data!.startsWith('This should fail'), |
| ), |
| findsOneWidget, |
| ); |
| }); |
| |
| testWidgets('failure 2', (WidgetTester tester) async { |
| expect(1 + 1, 3); // This should fail |
| }); |
| } |