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