• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright 2015 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5/// Testing library for flutter, built on top of `package:test`.
6///
7/// ## Test Configuration
8///
9/// The testing library exposes a few constructs by which projects may configure
10/// their tests.
11///
12/// ### Per test or per file
13///
14/// Due to its use of `package:test` as a foundation, the testing library
15/// allows for tests to be initialized using the existing constructs found in
16/// `package:test`. These include the [setUp] and [setUpAll] methods.
17///
18/// ### Per directory hierarchy
19///
20/// In addition to the constructs provided by `package:test`, this library
21/// supports the configuration of tests at the directory level.
22///
23/// Before a test file is executed, the Flutter test framework will scan up the
24/// directory hierarchy, starting from the directory in which the test file
25/// resides, looking for a file named `flutter_test_config.dart`. If it finds
26/// such a configuration file, the file will be assumed to have a `main` method
27/// with the following signature:
28///
29/// ```dart
30/// Future<void> main(FutureOr<void> testMain());
31/// ```
32///
33/// The test framework will execute that method and pass it the `main()` method
34/// of the test. It is then the responsibility of the configuration file's
35/// `main()` method to invoke the test's `main()` method.
36///
37/// After the test framework finds a configuration file, it will stop scanning
38/// the directory hierarchy. In other words, the test configuration file that
39/// lives closest to the test file will be selected, and all other test
40/// configuration files will be ignored. Likewise, it will stop scanning the
41/// directory hierarchy when it finds a `pubspec.yaml`, since that signals the
42/// root of the project.
43///
44/// If no configuration file is located, the test will be executed like normal.
45library flutter_test;
46
47export 'dart:async' show Future;
48
49export 'src/accessibility.dart';
50export 'src/all_elements.dart';
51export 'src/binding.dart';
52export 'src/controller.dart';
53export 'src/finders.dart';
54export 'src/goldens.dart';
55export 'src/matchers.dart';
56export 'src/nonconst.dart';
57export 'src/platform.dart';
58export 'src/stack_manipulation.dart';
59export 'src/test_async_utils.dart';
60export 'src/test_compat.dart';
61export 'src/test_exception_reporter.dart';
62export 'src/test_pointer.dart';
63export 'src/test_text_input.dart';
64export 'src/test_vsync.dart';
65export 'src/widget_tester.dart';
66export 'src/window.dart';
67