flutter_test library
Testing library for flutter, built on top of package:test
.
Test Configuration
The testing library exposes a few constructs by which projects may configure their tests.
Per test or per file
Due to its use of package:test
as a foundation, the testing library
allows for tests to be initialized using the existing constructs found in
package:test
. These include the setUp and setUpAll methods.
Per directory hierarchy
In addition to the constructs provided by package:test
, this library
supports the configuration of tests at the directory level.
Before a test file is executed, the Flutter test framework will scan up the
directory hierarchy, starting from the directory in which the test file
resides, looking for a file named flutter_test_config.dart
. If it finds
such a configuration file, the file will be assumed to have a main
method
with the following signature:
Future<void> testExecutable(FutureOr<void> Function() testMain) async { }
The test framework will execute that method and pass it the main()
method
of the test. It is then the responsibility of the configuration file's
main()
method to invoke the test's main()
method.
After the test framework finds a configuration file, it will stop scanning
the directory hierarchy. In other words, the test configuration file that
lives closest to the test file will be selected, and all other test
configuration files will be ignored. Likewise, it will stop scanning the
directory hierarchy when it finds a pubspec.yaml
, since that signals the
root of the project.
If no configuration file is located, the test will be executed like normal.
See also:
- WidgetController.hitTestWarningShouldBeFatal, which can be set
in a
flutter_test_config.dart
file to turn warnings printed by WidgetTester.tap and similar APIs into fatal errors. - debugCheckIntrinsicSizes, which can be set in a
flutter_test_config.dart
file to enable deeper RenderBox tests of the intrinsic APIs automatically while laying out widgets.
Classes
- AccessibilityGuideline
- An accessibility guideline describes a recommendation an application should meet to be considered accessible.
- AnimationSheetBuilder
- Records the frames of an animating widget, and later displays the frames as a grid in an animation sheet.
- AutomatedTestWidgetsFlutterBinding
-
A variant of TestWidgetsFlutterBinding for executing tests typically
the
flutter test
environment, unless it is an integration test. - CapturedAccessibilityAnnouncement
- Accessibility announcement data passed to SemanticsService.announce captured in a test.
- ChainedFinder
- Applies additional filtering against a parent widget finder.
- CommonFinders
- Provides lightweight syntax for getting frequently used Finders and SemanticsFinders through semantics.
- CommonSemanticsFinders
- Provides lightweight syntax for getting frequently used semantics finders.
- CommonTextRangeFinders
- Provides lightweight syntax for getting frequently used text range finders.
- ComparisonResult
- The result of a pixel comparison test.
- CustomMatcher
- A useful utility class for implementing other matchers through inheritance. Derived classes should call the base constructor with a feature name and description, and an instance matcher, and should implement the featureValueOf abstract method.
- CustomMinimumContrastGuideline
- A guideline which verifies that all elements specified by finder meet minimum contrast levels.
- DefaultTestVariant
-
The TestVariant that represents the "default" test that is run if no
variants
iterable is specified for testWidgets. - DefaultWebGoldenComparator
- An unsupported WebGoldenComparator that exists for API compatibility.
- Description
- Matchers build up their error messages by appending to Description objects.
- Evaluation
- The result of evaluating a semantics node by a AccessibilityGuideline.
- Fake
- A stand-in for another object which cannot be used except for specifically overridden methods.
- FakeAccessibilityFeatures
- Test version of AccessibilityFeatures in which specific features may be set to arbitrary values.
- FakeViewPadding
- Used to fake insets and padding for TestFlutterViews.
- Finder
- A base class for creating finders that search the Element tree for Widgets.
-
FinderBase<
CandidateType> - Encapsulates the logic for searching a list of candidates and filtering the candidates to only those that meet the requirements defined by the finder.
-
FinderResult<
CandidateType> - The results of searching with a FinderBase.
- FrameTimingSummarizer
- This class and summarizes a list of FrameTiming for the performance metrics.
-
Future<
T> - The result of an asynchronous computation.
- GoldenFileComparator
- Compares image pixels against a golden image file.
- KeyEventSimulator
- A class that serves as a namespace for a bunch of keyboard-key generation utilities.
- KeySimulatorTransitModeVariant
- A TestVariant that runs tests with transit modes set to different values of KeyDataTransitMode.
- LabeledTapTargetGuideline
- A guideline which enforces that all nodes with a tap or long press action also have a label.
- LiveTestWidgetsFlutterBinding
-
A variant of TestWidgetsFlutterBinding for executing tests
on a device, typically via
flutter run
, or via integration tests. This is intended to allow interactive test development. - LiveWidgetController
- Variant of WidgetController that can be used in tests running on a device.
- LocalFileComparator
-
The default GoldenFileComparator implementation for
flutter test
. - Matcher
- The base class for all matchers.
- MatchesGoldenFile
- The matcher created by matchesGoldenFile. This class is enabled when the test is running on a VM using conditional import.
- MatchFinder
- Searches candidates for any that match a particular pattern.
- MinimumTapTargetGuideline
- A guideline which enforces that all tappable semantics nodes have a minimum size.
- MinimumTextContrastGuideline
- A guideline which verifies that all nodes that contribute semantics via text meet minimum contrast levels.
- MockStreamHandler
- A mock stream handler for an EventChannel that mimics the native StreamHandler API.
- MockStreamHandlerEventSink
- A mock event sink for a MockStreamHandler that mimics the native EventSink API.
- Offset
- An immutable 2D floating-point offset.
- OnPlatform
- An annotation for platform-specific customizations for a test suite.
- PaintPattern
- Builder interface for patterns used to match display lists (canvas calls).
- PointerEventRecord
- A record of input PointerEvent list with the timeStamp of when it is injected.
- RecordedInvocation
- An Invocation and the stack trace that led to it.
- Retry
- An annotation for marking a test suite to be retried.
- SemanticsController
- Class that programmatically interacts with the Semantics tree.
- SemanticsFinder
- A base class for creating finders that search the semantics tree.
- SemanticsHandle
- A reference to the semantics information generated by the framework.
- Skip
- An annotation for marking a test suite as skipped.
- StreamMatcher
- A matcher that matches events from Streams or StreamQueues.
- StringDescription
- The default implementation of Description. This should rarely need substitution, although conceivably it is a place where other languages could be supported.
- Tags
- An annotation for applying a set of user-defined tags to a test suite.
- TargetPlatformVariant
- A TestVariant that runs tests with debugDefaultTargetPlatformOverride set to different values of TargetPlatform.
- TestAsyncUtils
-
Utility class for all the async APIs in the
flutter_test
library. - TestDefaultBinaryMessenger
- A BinaryMessenger subclass that is used as the default binary messenger under testing environment.
- TestDisplay
- A version of Display that can be modified to allow for testing various use cases.
- TestFlutterView
- A FlutterView that wraps another FlutterView and allows faking of some properties for testing purposes.
- TestGesture
- A class for performing gestures in tests.
- TestOn
- An annotation indicating which platforms a test suite supports.
- TestPlatformDispatcher
- PlatformDispatcher that wraps another PlatformDispatcher and allows faking of some properties for testing purposes.
- TestPointer
- A class for generating coherent artificial pointer events.
- TestRecordingCanvas
- A Canvas for tests that records its method calls.
- TestRecordingPaintingContext
- A PaintingContext for tests that use TestRecordingCanvas.
- TestRestorationData
- Restoration data that can be used to restore the state to the one described by this data.
- TestRestorationManager
- The RestorationManager used for tests.
- TestTextInput
- A testing stub for the system's onscreen keyboard.
-
TestVariant<
T> - An abstract base class for describing test environment variants.
- TestViewConfiguration
- A ViewConfiguration that pretends the display is of a particular size (in logical pixels).
- TestVSync
- A TickerProvider that creates a standalone ticker.
- TestWidgetsFlutterBinding
- Base class for bindings used by widgets library tests.
- TestWindow
- Deprecated. Will be removed in a future version of Flutter.
- TextEditingValue
- The current text, selection, and composing state for editing a run of text.
- TextRangeContext
-
The
CandidateType
of finders that search for and filter substrings, within static text rendered by RenderParagraphs. - Throws
- Use the throwsA function instead.
- Timeout
- A class representing a modification to the default timeout for a test.
- TrivialComparator
- Placeholder comparator that is set as the value of goldenFileComparator when the initialization that happens in the test bootstrap either has not yet happened or has been bypassed.
-
TypeMatcher<
T> - A Matcher subclass that supports validating the Type of the target object.
-
ValueVariant<
T> - A TestVariant that runs separate tests with each of the given values.
- WebGoldenComparator
- Compares image pixels against a golden image file.
- WidgetController
- Class that programmatically interacts with widgets.
- WidgetTester
- Class that programmatically interacts with widgets and the test environment.
Enums
- EnginePhase
- Phases that can be reached by WidgetTester.pumpWidget and TestWidgetsFlutterBinding.pump.
- LiveTestWidgetsFlutterBindingFramePolicy
- Available policies for how a LiveTestWidgetsFlutterBinding should paint frames.
- Plurality
- Describes how a string of text should be pluralized.
- TestBindingEventSource
- Parts of the system that can generate pointer events that reach the test binding.
- TextInputAction
- An action the user has requested the text input control to perform.
Mixins
-
ChainedFinderMixin<
CandidateType> - A mixin that applies additional filtering to the results of a parent Finder.
- LocalComparisonOutput
- A mixin for use in golden file comparators that run locally and provide output.
-
MatchFinderMixin<
CandidateType> - A mixin for creating finders that search candidates for those that match a given pattern.
- TestDefaultBinaryMessengerBinding
- Overrides the ServicesBinding's binary messenger logic to use TestDefaultBinaryMessenger.
Extensions
-
TestBasicMessageChannelExtension
on BasicMessageChannel<
T> - Shim to support the obsolete setMockMessageHandler and checkMockMessageHandler methods on BasicMessageChannel in tests.
- TestBinaryMessengerExtension on BinaryMessenger
- Shim to support the obsolete setMockMessageHandler and checkMockMessageHandler methods on BinaryMessenger in tests.
- TestMethodChannelExtension on MethodChannel
- Shim to support the obsolete setMockMethodCallHandler and checkMockMethodCallHandler methods on MethodChannel in tests.
Constants
- androidTapTargetGuideline → const AccessibilityGuideline
- A guideline which requires tappable semantic nodes a minimum size of 48 by 48.
- anything → const Matcher
- A matcher that matches any value.
- canCaptureImage → const bool
- Whether or not captureImage is supported.
- clipsWithBoundingRect → const Matcher
- Asserts that a Finder locates a single object whose root RenderObject is a RenderClipRect with no clipper set, or an equivalent RenderClipPath.
- find → const CommonFinders
- Some frequently used Finders and SemanticsFinders.
- findsAny → const Matcher
- Asserts that the FinderBase locates at least one matching candidate.
- findsNothing → const Matcher
- Asserts that the FinderBase matches nothing in the available candidates.
- findsOne → const Matcher
- Asserts that the FinderBase finds exactly one matching candidate.
- findsOneWidget → const Matcher
- Asserts that the Finder locates at exactly one widget in the widget tree.
- findsWidgets → const Matcher
- Asserts that the Finder locates at least one widget in the widget tree.
- hasAGoodToStringDeep → const Matcher
- Asserts that an object's toStringDeep() is a plausible multiline description.
- hasNoImmediateClip → const Matcher
- Asserts that a Finder locates a single object whose root RenderObject is not a RenderClipRect, RenderClipRRect, RenderClipOval, or RenderClipPath.
- hasOneLineDescription → const Matcher
- Asserts that an object's toString() is a plausible one-line description.
- iOSTapTargetGuideline → const AccessibilityGuideline
- A guideline which requires tappable semantic nodes a minimum size of 44 by 44.
-
isArgumentError
→ const TypeMatcher<
ArgumentError> -
A matcher for
ArgumentError
. - isBrowser → const bool
- Whether the test is running in a web browser compiled to JavaScript or WebAssembly.
-
isCastError
→ const TypeMatcher<
TypeError> -
A matcher for
TypeError
. -
isConcurrentModificationError
→ const TypeMatcher<
ConcurrentModificationError> -
A matcher for
ConcurrentModificationError
. -
isCyclicInitializationError
→ const TypeMatcher<
Error> -
A matcher for
Error
. - isEmpty → const Matcher
- Returns a matcher that matches the isEmpty property.
-
isException
→ const TypeMatcher<
Exception> -
A matcher for
Exception
. - isFalse → const Matcher
- A matcher that matches anything except the Boolean value true.
-
isFormatException
→ const TypeMatcher<
FormatException> -
A matcher for
FormatException
. - isInCard → const Matcher
- Asserts that the Finder locates a single widget that has at least one Card widget ancestor.
-
isList
→ const TypeMatcher<
List> -
A matcher for
List
. -
isMap
→ const TypeMatcher<
Map> -
A matcher for
Map
. - isNaN → const Matcher
- A matcher that matches the numeric value NaN.
- isNegative → const Matcher
- A matcher which matches if the match argument is negative.
- isNonNegative → const Matcher
- A matcher which matches if the match argument is zero or positive.
- isNonPositive → const Matcher
- A matcher which matches if the match argument is zero or negative.
- isNonZero → const Matcher
- A matcher which matches if the match argument is non-zero.
-
isNoSuchMethodError
→ const TypeMatcher<
NoSuchMethodError> -
A matcher for
NoSuchMethodError
. - isNotEmpty → const Matcher
- Returns a matcher that matches the isNotEmpty property.
- isNotInCard → const Matcher
- Asserts that the Finder locates a single widget that has no Card widget ancestors.
- isNotNaN → const Matcher
- A matcher that matches any non-NaN value.
- isNotNull → const Matcher
- A matcher that matches any non-null value.
- isNull → const Matcher
- A matcher that matches any null value.
-
isNullThrownError
→ const TypeMatcher<
TypeError> -
A matcher for
TypeError
. - isOffstage → const Matcher
- Asserts that the Finder locates a single widget that has at least one Offstage widget ancestor.
- isOnstage → const Matcher
- Asserts that the Finder locates a single widget that has no Offstage widget ancestors.
- isPositive → const Matcher
- A matcher which matches if the match argument is positive.
-
isRangeError
→ const TypeMatcher<
RangeError> -
A matcher for
RangeError
. -
isStateError
→ const TypeMatcher<
StateError> -
A matcher for
StateError
. - isTrue → const Matcher
- A matcher that matches the Boolean value true.
-
isUnimplementedError
→ const TypeMatcher<
UnimplementedError> -
A matcher for
UnimplementedError
. -
isUnsupportedError
→ const TypeMatcher<
UnsupportedError> -
A matcher for
UnsupportedError
. - isZero → const Matcher
- A matcher which matches if the match argument is zero.
- kDebugWarning → const String
- The warning message to show when a benchmark is performed with assert on.
- kDragSlopDefault → const double
- The default drag touch slop used to break up a large drag into multiple smaller moves.
- labeledTapTargetGuideline → const AccessibilityGuideline
- A guideline which enforces that all nodes with a tap or long press action also have a label.
- returnsNormally → const Matcher
- A matcher that matches a function call against no exception.
- textContrastGuideline → const AccessibilityGuideline
- A guideline which requires text contrast to meet minimum values.
- throws → const Matcher
- This function is deprecated.
- throwsArgumentError → const Matcher
- A matcher for functions that throw ArgumentError.
- throwsConcurrentModificationError → const Matcher
- A matcher for functions that throw ConcurrentModificationError.
- throwsCyclicInitializationError → const Matcher
- A matcher for functions that throw CyclicInitializationError.
- throwsException → const Matcher
- A matcher for functions that throw Exception.
- throwsFormatException → const Matcher
- A matcher for functions that throw FormatException.
- throwsNoSuchMethodError → const Matcher
- A matcher for functions that throw NoSuchMethodError.
- throwsNullThrownError → const Matcher
- A matcher for functions that throw NullThrownError.
- throwsRangeError → const Matcher
- A matcher for functions that throw RangeError.
- throwsStateError → const Matcher
- A matcher for functions that throw StateError.
- throwsUnimplementedError → const Matcher
- A matcher for functions that throw Exception.
- throwsUnsupportedError → const Matcher
- A matcher for functions that throw UnsupportedError.
Properties
- autoUpdateGoldenFiles ↔ bool
-
Whether golden files should be automatically updated during tests rather
than compared to the image bytes recorded by the tests.
getter/setter pair
- completes → Matcher
-
Matches a Future that completes successfully with any value.
final
- doesNotComplete → Matcher
-
Matches a Future that does not complete.
final
- emitsDone → StreamMatcher
-
Returns a StreamMatcher that asserts that the stream emits a "done" event.
final
- goldenFileComparator ↔ GoldenFileComparator
-
Compares pixels against those of a golden image file.
getter/setter pair
-
isAssertionError
→ TypeMatcher<
AssertionError> -
A matcher for
AssertionError
.final -
isFlutterError
→ TypeMatcher<
FlutterError> -
A matcher for
FlutterError
.final - isLinux → bool
-
Whether the test is running on the Linux operating system.
no setter
- isMacOS → bool
-
Whether the test is running on the macOS operating system.
no setter
- isWindows → bool
-
Whether the test is running on the Windows operating system.
no setter
- kBuildBudget ↔ Duration
-
The maximum amount of time considered safe to spend for a frame's build
phase. Anything past that is in the danger of missing the frame as 60FPS.
getter/setter pair
- neverCalled → Null Function([Object?, Object?, Object?, Object?, Object?, Object?, Object?, Object?, Object?, Object?])
-
Returns a function that causes the test to fail if it's called.
no setter
- paints → PaintPattern
-
Matches objects or functions that paint a display list that matches the
canvas calls described by the pattern.
no setter
- paintsAssertion → Matcher
-
Matches objects or functions that assert when they try to paint.
no setter
- paintsNothing → Matcher
-
Matches objects or functions that does not paint anything on the canvas.
no setter
- reportTestException ↔ TestExceptionReporter
-
A function that is called by the test framework when an unexpected error
occurred during a test.
getter/setter pair
- throwsAssertionError → Matcher
-
A matcher for functions that throw AssertionError.
final
- throwsFlutterError → Matcher
-
A matcher for functions that throw FlutterError.
final
- webGoldenComparator ↔ WebGoldenComparator
-
Compares pixels against those of a golden image file.
getter/setter pair
Functions
-
addStateInfo(
Map matchState, Map values) → void - Useful utility for nesting match states.
-
addTearDown(
dynamic callback()) → void - Registers a function to be run after the current test.
-
allOf(
Object? arg0, [Object? arg1, Object? arg2, Object? arg3, Object? arg4, Object? arg5, Object? arg6]) → Matcher - This returns a matcher that matches if all of the matchers passed as arguments (up to 7) match.
-
anyElement(
Object? valueOrMatcher) → Matcher -
Returns a matcher which matches Iterables in which at least one
element matches the given
valueOrMatcher
. -
anyOf(
Object? arg0, [Object? arg1, Object? arg2, Object? arg3, Object? arg4, Object? arg5, Object? arg6]) → Matcher - Matches if any of the given matchers evaluate to true.
-
benchmarkWidgets(
WidgetTesterCallback callback, {bool mayRunWithAsserts = false, bool semanticsEnabled = false}) → Future< void> -
Runs the
callback
inside the Flutter benchmark environment. -
captureImage(
Element element) → Future< Image> -
Render the closest RepaintBoundary of the
element
into an image. -
clipsWithBoundingRRect(
{required BorderRadius borderRadius}) → Matcher -
Asserts that a Finder locates a single object whose root RenderObject
is a RenderClipRRect with no clipper set, and border radius equals to
borderRadius
, or an equivalent RenderClipPath. -
clipsWithShapeBorder(
{required ShapeBorder shape}) → Matcher -
Asserts that a Finder locates a single object whose root RenderObject
is a RenderClipPath with a ShapeBorderClipper that clips to
shape
. -
closeTo(
num value, num delta) → Matcher -
Returns a matcher which matches if the match argument is within
delta
of somevalue
. -
collapseWhitespace(
String string) → String - Utility function to collapse whitespace runs to single spaces and strip leading/trailing whitespace.
-
collectAllElementsFrom(
Element rootElement, {required bool skipOffstage}) → Iterable< Element> - Provides an iterable that efficiently returns all the Elements rooted at the given Element. See CachingIterable for details.
-
collectAllSemanticsNodesFrom(
SemanticsNode root, {DebugSemanticsDumpOrder order = DebugSemanticsDumpOrder.traversalOrder}) → Iterable< SemanticsNode> - Provides an iterable that efficiently returns all the SemanticsNodes rooted at the given SemanticsNode. See CachingIterable for details.
-
compareLists(
List< int> ? test, List<int> ? master) → Future<ComparisonResult> -
Returns a ComparisonResult to describe the pixel differential of the
test
andmaster
image bytes provided. -
completion(
Object? matcher, [String? description]) → Matcher -
Matches a Future that completes successfully with a value that matches
matcher
. -
contains(
Object? expected) → Matcher - Returns a matcher that matches if the match argument contains the expected value.
-
containsAll(
Iterable expected) → Matcher -
Matches Iterables which contain an element matching every value in
expected
in any order, and may contain additional values. -
containsAllInOrder(
Iterable expected) → Matcher -
Matches Iterables which contain an element matching every value in
expected
in the same order, but may contain additional values interleaved throughout. -
containsOnce(
Object? expected) → Matcher - Matches Iterables where exactly one element matches the expected value, and all other elements don't match.
-
containsPair(
Object? key, Object? valueOrMatcher) → Matcher -
Returns a matcher which matches maps containing the key-value pair
with
key
=>valueOrMatcher
. -
containsSemantics(
{String? identifier, String? label, AttributedString? attributedLabel, String? hint, AttributedString? attributedHint, String? value, AttributedString? attributedValue, String? increasedValue, AttributedString? attributedIncreasedValue, String? decreasedValue, AttributedString? attributedDecreasedValue, String? tooltip, TextDirection? textDirection, Rect? rect, Size? size, double? elevation, double? thickness, int? platformViewId, int? maxValueLength, int? currentValueLength, bool? hasCheckedState, bool? isChecked, bool? isCheckStateMixed, bool? isSelected, bool? isButton, bool? isSlider, bool? isKeyboardKey, bool? isLink, bool? isFocused, bool? isFocusable, bool? isTextField, bool? isReadOnly, bool? hasEnabledState, bool? isEnabled, bool? isInMutuallyExclusiveGroup, bool? isHeader, bool? isObscured, bool? isMultiline, bool? namesRoute, bool? scopesRoute, bool? isHidden, bool? isImage, bool? isLiveRegion, bool? hasToggledState, bool? isToggled, bool? hasImplicitScrolling, bool? hasExpandedState, bool? isExpanded, bool? hasTapAction, bool? hasFocusAction, bool? hasLongPressAction, bool? hasScrollLeftAction, bool? hasScrollRightAction, bool? hasScrollUpAction, bool? hasScrollDownAction, bool? hasIncreaseAction, bool? hasDecreaseAction, bool? hasShowOnScreenAction, bool? hasMoveCursorForwardByCharacterAction, bool? hasMoveCursorBackwardByCharacterAction, bool? hasMoveCursorForwardByWordAction, bool? hasMoveCursorBackwardByWordAction, bool? hasSetTextAction, bool? hasSetSelectionAction, bool? hasCopyAction, bool? hasCutAction, bool? hasPasteAction, bool? hasDidGainAccessibilityFocusAction, bool? hasDidLoseAccessibilityFocusAction, bool? hasDismissAction, String? onTapHint, String? onLongPressHint, List< CustomSemanticsAction> ? customActions, List<Matcher> ? children}) → Matcher - Asserts that a SemanticsNode contains the specified information.
-
containsValue(
Object? value) → Matcher -
Returns a matcher which matches maps containing the given
value
. -
coversSameAreaAs(
Path expectedPath, {required Rect areaToCompare, int sampleSize = 20}) → Matcher - Asserts that 2 paths cover the same area by sampling multiple points.
-
createTestImage(
{int width = 1, int height = 1, bool cache = true}) → Future< Image> - Creates an arbitrarily sized image for testing.
-
doesNotMeetGuideline(
AccessibilityGuideline guideline) → AsyncMatcher - The inverse matcher of meetsGuideline.
-
emits(
Object? matcher) → StreamMatcher -
Returns a StreamMatcher for
matcher
. -
emitsAnyOf(
Iterable matchers) → StreamMatcher -
Returns a StreamMatcher that matches the stream if at least one of
matchers
matches. -
emitsError(
Object? matcher) → StreamMatcher -
Returns a StreamMatcher that matches a single error event that matches
matcher
. -
emitsInAnyOrder(
Iterable matchers) → StreamMatcher -
Returns a StreamMatcher that matches the stream if each matcher in
matchers
matches, in any order. -
emitsInOrder(
Iterable matchers) → StreamMatcher -
Returns a StreamMatcher that matches the stream if each matcher in
matchers
matches, one after another. -
emitsThrough(
Object? matcher) → StreamMatcher -
Returns a StreamMatcher that matches any number of events followed by
events that match
matcher
. -
endsWith(
String suffixString) → Matcher -
Returns a matcher that matches if the match argument is a string and
ends with
suffixString
. -
equals(
Object? expected, [int limit = 100]) → Matcher -
Returns a matcher that matches if the value is structurally equal to
expected
. -
equalsIgnoringCase(
String value) → Matcher -
Returns a matcher which matches if the match argument is a string and
is equal to
value
when compared case-insensitively. -
equalsIgnoringHashCodes(
Object value) → Matcher -
Asserts that two Strings or
Iterable<String>
s are equal after normalizing likely hash codes. -
equalsIgnoringWhitespace(
String value) → Matcher -
Returns a matcher which matches if the match argument is a string and
is equal to
value
, ignoring whitespace. -
escape(
String str) → String -
Returns
str
with all whitespace characters represented as their escape sequences. -
everyElement(
Object? valueOrMatcher) → Matcher -
Returns a matcher which matches Iterables in which all elements
match the given
valueOrMatcher
. -
expect(
dynamic actual, dynamic matcher, {String? reason, dynamic skip}) → void -
Assert that
actual
matchesmatcher
. -
expectAsync(
Function callback, {int count = 1, int max = 0, String? id, String? reason}) → Function - This function is deprecated because it doesn't work well with strong mode. Use expectAsync0, expectAsync1, expectAsync2, expectAsync3, expectAsync4, expectAsync5, or expectAsync6 instead.
-
expectAsync0<
T> (T callback(), {int count = 1, int max = 0, String? id, String? reason}) → Func0< T> -
Informs the framework that the given
callback
of arity 0 is expected to be calledcount
number of times (by default 1). -
expectAsync1<
T, A> (T callback(A), {int count = 1, int max = 0, String? id, String? reason}) → Func1< T, A> -
Informs the framework that the given
callback
of arity 1 is expected to be calledcount
number of times (by default 1). -
expectAsync2<
T, A, B> (T callback(A, B), {int count = 1, int max = 0, String? id, String? reason}) → Func2< T, A, B> -
Informs the framework that the given
callback
of arity 2 is expected to be calledcount
number of times (by default 1). -
expectAsync3<
T, A, B, C> (T callback(A, B, C), {int count = 1, int max = 0, String? id, String? reason}) → Func3< T, A, B, C> -
Informs the framework that the given
callback
of arity 3 is expected to be calledcount
number of times (by default 1). -
expectAsync4<
T, A, B, C, D> (T callback(A, B, C, D), {int count = 1, int max = 0, String? id, String? reason}) → Func4< T, A, B, C, D> -
Informs the framework that the given
callback
of arity 4 is expected to be calledcount
number of times (by default 1). -
expectAsync5<
T, A, B, C, D, E> (T callback(A, B, C, D, E), {int count = 1, int max = 0, String? id, String? reason}) → Func5< T, A, B, C, D, E> -
Informs the framework that the given
callback
of arity 5 is expected to be calledcount
number of times (by default 1). -
expectAsync6<
T, A, B, C, D, E, F> (T callback(A, B, C, D, E, F), {int count = 1, int max = 0, String? id, String? reason}) → Func6< T, A, B, C, D, E, F> -
Informs the framework that the given
callback
of arity 6 is expected to be calledcount
number of times (by default 1). -
expectAsyncUntil0<
T> (T callback(), bool isDone(), {String? id, String? reason}) → Func0< T> -
Informs the framework that the given
callback
of arity 0 is expected to be called untilisDone
returns true. -
expectAsyncUntil1<
T, A> (T callback(A), bool isDone(), {String? id, String? reason}) → Func1< T, A> -
Informs the framework that the given
callback
of arity 1 is expected to be called untilisDone
returns true. -
expectAsyncUntil2<
T, A, B> (T callback(A, B), bool isDone(), {String? id, String? reason}) → Func2< T, A, B> -
Informs the framework that the given
callback
of arity 2 is expected to be called untilisDone
returns true. -
expectAsyncUntil3<
T, A, B, C> (T callback(A, B, C), bool isDone(), {String? id, String? reason}) → Func3< T, A, B, C> -
Informs the framework that the given
callback
of arity 3 is expected to be called untilisDone
returns true. -
expectAsyncUntil4<
T, A, B, C, D> (T callback(A, B, C, D), bool isDone(), {String? id, String? reason}) → Func4< T, A, B, C, D> -
Informs the framework that the given
callback
of arity 4 is expected to be called untilisDone
returns true. -
expectAsyncUntil5<
T, A, B, C, D, E> (T callback(A, B, C, D, E), bool isDone(), {String? id, String? reason}) → Func5< T, A, B, C, D, E> -
Informs the framework that the given
callback
of arity 5 is expected to be called untilisDone
returns true. -
expectAsyncUntil6<
T, A, B, C, D, E, F> (T callback(A, B, C, D, E, F), bool isDone(), {String? id, String? reason}) → Func6< T, A, B, C, D, E, F> -
Informs the framework that the given
callback
of arity 6 is expected to be called untilisDone
returns true. -
expectLater(
dynamic actual, dynamic matcher, {String? reason, dynamic skip}) → Future< void> - Just like expect, but returns a Future that completes when the matcher has finished matching.
-
expectSync(
dynamic actual, dynamic matcher, {String? reason}) → void -
Assert that
actual
matchesmatcher
. -
fail(
String message) → Never -
Convenience method for throwing a new TestFailure with the provided
message
. -
findsAtLeast(
int n) → Matcher - Asserts that the FinderBase locates at least the given number of candidates.
-
findsAtLeastNWidgets(
int n) → Matcher - Asserts that the Finder locates at least a number of widgets in the widget tree.
-
findsExactly(
int n) → Matcher - Asserts that the FinderBase locates the specified number of candidates.
-
findsNWidgets(
int n) → Matcher - Asserts that the Finder locates the specified number of widgets in the widget tree.
-
greaterThan(
Object value) → Matcher -
Returns a matcher which matches if the match argument is greater
than the given
value
. -
greaterThanOrEqualTo(
Object value) → Matcher -
Returns a matcher which matches if the match argument is greater
than or equal to the given
value
. -
group(
Object description, void body(), {dynamic skip, int? retry}) → void - Creates a group of tests.
-
hasLength(
Object? matcher) → Matcher -
Returns a matcher that matches if an object has a length property
that matches
matcher
. -
inClosedOpenRange(
num low, num high) → Matcher -
Returns a matcher which matches if the match argument is greater
than or equal to a
low
and less thanhigh
. -
inExclusiveRange(
num low, num high) → Matcher -
Returns a matcher which matches if the match argument is greater
than
low
and less thanhigh
. -
inInclusiveRange(
num low, num high) → Matcher -
Returns a matcher which matches if the match argument is greater
than or equal to
low
and less than or equal tohigh
. -
inOpenClosedRange(
num low, num high) → Matcher -
Returns a matcher which matches if the match argument is greater
than
low
and less than or equal tohigh
. -
isA<
T> () → TypeMatcher< T> -
Returns a matcher that matches objects with type
T
. -
isIn(
Object? expected) → Matcher - Returns a matcher that matches if the match argument is in the expected value. This is the converse of contains.
-
isInstanceOf<
T> () → TypeMatcher< T> - A matcher that compares the type of the actual value to the type argument T.
-
isMethodCall(
String name, {required dynamic arguments}) → Matcher -
A matcher for MethodCalls, asserting that it has the specified
method
name
andarguments
. -
isNot(
Object? valueOrMatcher) → Matcher -
Returns a matcher that inverts
valueOrMatcher
to its logical negation. -
isPathThat(
{Iterable< Offset> includes = const <Offset>[], Iterable<Offset> excludes = const <Offset>[]}) → Matcher -
Matches a Path that contains (as defined by Path.contains) the given
includes
points and does not contain the givenexcludes
points. -
isSameColorAs(
Color color) → Matcher -
Asserts that the object represents the same color as
color
when used to paint. -
lessThan(
Object value) → Matcher -
Returns a matcher which matches if the match argument is less
than the given
value
. -
lessThanOrEqualTo(
Object value) → Matcher -
Returns a matcher which matches if the match argument is less
than or equal to the given
value
. -
markTestSkipped(
String message) → void - Marks the current test as skipped.
-
matches(
Pattern re) → Matcher -
Returns a matcher that matches if the match argument is a string and
matches the regular expression given by
re
. -
matchesGoldenFile(
Object key, {int? version}) → AsyncMatcher -
Asserts that a Finder, Future<ui.Image>, or ui.Image matches the
golden image file identified by
key
, with an optionalversion
number. -
matchesReferenceImage(
Image image) → AsyncMatcher -
Asserts that a Finder, Future<ui.Image>, or ui.Image matches a
reference image identified by
image
. -
matchesSemantics(
{String? identifier, String? label, AttributedString? attributedLabel, String? hint, AttributedString? attributedHint, String? value, AttributedString? attributedValue, String? increasedValue, AttributedString? attributedIncreasedValue, String? decreasedValue, AttributedString? attributedDecreasedValue, String? tooltip, TextDirection? textDirection, Rect? rect, Size? size, double? elevation, double? thickness, int? platformViewId, int? maxValueLength, int? currentValueLength, bool hasCheckedState = false, bool isChecked = false, bool isCheckStateMixed = false, bool isSelected = false, bool isButton = false, bool isSlider = false, bool isKeyboardKey = false, bool isLink = false, bool isFocused = false, bool isFocusable = false, bool isTextField = false, bool isReadOnly = false, bool hasEnabledState = false, bool isEnabled = false, bool isInMutuallyExclusiveGroup = false, bool isHeader = false, bool isObscured = false, bool isMultiline = false, bool namesRoute = false, bool scopesRoute = false, bool isHidden = false, bool isImage = false, bool isLiveRegion = false, bool hasToggledState = false, bool isToggled = false, bool hasImplicitScrolling = false, bool hasExpandedState = false, bool isExpanded = false, bool hasTapAction = false, bool hasFocusAction = false, bool hasLongPressAction = false, bool hasScrollLeftAction = false, bool hasScrollRightAction = false, bool hasScrollUpAction = false, bool hasScrollDownAction = false, bool hasIncreaseAction = false, bool hasDecreaseAction = false, bool hasShowOnScreenAction = false, bool hasMoveCursorForwardByCharacterAction = false, bool hasMoveCursorBackwardByCharacterAction = false, bool hasMoveCursorForwardByWordAction = false, bool hasMoveCursorBackwardByWordAction = false, bool hasSetTextAction = false, bool hasSetSelectionAction = false, bool hasCopyAction = false, bool hasCutAction = false, bool hasPasteAction = false, bool hasDidGainAccessibilityFocusAction = false, bool hasDidLoseAccessibilityFocusAction = false, bool hasDismissAction = false, String? onTapHint, String? onLongPressHint, List< CustomSemanticsAction> ? customActions, List<Matcher> ? children}) → Matcher - Asserts that a SemanticsNode contains the specified information.
-
matrix3MoreOrLessEquals(
Matrix3 value, {double epsilon = precisionErrorTolerance}) → Matcher - Asserts that two Matrix3s are equal, within some tolerated error.
-
matrixMoreOrLessEquals(
Matrix4 value, {double epsilon = precisionErrorTolerance}) → Matcher - Asserts that two Matrix4s are equal, within some tolerated error.
-
mayEmit(
Object? matcher) → StreamMatcher -
Returns a StreamMatcher that allows (but doesn't require)
matcher
to match the stream. -
mayEmitMultiple(
Object? matcher) → StreamMatcher -
Returns a StreamMatcher that matches any number of events that match
matcher
. -
meetsGuideline(
AccessibilityGuideline guideline) → AsyncMatcher -
Asserts that the currently rendered widget meets the provided accessibility
guideline
. -
moreOrLessEquals(
double value, {double epsilon = precisionErrorTolerance}) → Matcher - Asserts that two doubles are equal, within some tolerated error.
-
neverEmits(
Object? matcher) → StreamMatcher -
Returns a StreamMatcher that matches a stream that never matches
matcher
. -
nonconst<
T> (T t) → T - This function can be used to call a const constructor in such a way as to create a new instance rather than creating the common const instance.
-
offsetMoreOrLessEquals(
Offset value, {double epsilon = precisionErrorTolerance}) → Matcher - Asserts that two Offsets are equal, within some tolerated error.
-
orderedEquals(
Iterable expected) → Matcher -
Returns a matcher which matches Iterables that have the same
length and the same elements as
expected
, in the same order. -
paintsExactlyCountTimes(
Symbol methodName, int count) → Matcher -
Matches objects or functions that draw
methodName
exactlycount
number of times. -
pairwiseCompare<
S, T> (Iterable< S> expected, bool comparator(S, T), String description) → Matcher - A pairwise matcher for Iterables.
-
predicate<
T> (bool f(T), [String description = 'satisfies function']) → Matcher - Returns a matcher that uses an arbitrary function that returns whether the value is considered a match.
-
printOnFailure(
String message) → void -
Prints
message
if and when the current test fails. -
prints(
Object? matcher) → Matcher -
Matches a Function that prints text that matches
matcher
. -
pumpEventQueue(
{int times = 20}) → Future -
Returns a Future that completes after the event loop has run the given
number of
times
(20 by default). -
rectMoreOrLessEquals(
Rect value, {double epsilon = precisionErrorTolerance}) → Matcher - Asserts that two Rects are equal, within some tolerated error.
-
registerException(
Object error, [StackTrace stackTrace = StackTrace.empty]) → void - Registers an exception that was caught for the current test.
-
rendersOnPhysicalModel(
{BoxShape? shape, BorderRadius? borderRadius, double? elevation}) → Matcher - Asserts that a Finder locates a single object whose root RenderObject is a RenderPhysicalModel or a RenderPhysicalShape.
-
rendersOnPhysicalShape(
{required ShapeBorder shape, double? elevation}) → Matcher -
Asserts that a Finder locates a single object whose root RenderObject
is RenderPhysicalShape that uses a ShapeBorderClipper that clips to
shape
as its clipper. Ifelevation
is non null asserts that RenderPhysicalShape.elevation is equal toelevation
. -
reportExpectCall(
StackTrace stack, List< DiagnosticsNode> information) → int -
Report call site for
expect()
call. Returns the number of frames that should be elided if a stack were to be modified to hide the expect call, or zero if no such call was found. -
same(
Object? expected) → Matcher -
Returns a matches that matches if the value is the same instance
as
expected
, using identical. -
setUp(
dynamic body()) → void - Registers a function to be run before tests.
-
setUpAll(
dynamic body()) → void - Registers a function to be run once before all tests.
-
simulateKeyDownEvent(
LogicalKeyboardKey key, {String? platform, PhysicalKeyboardKey? physicalKey, String? character}) → Future< bool> - Simulates sending a hardware key down event through the system channel.
-
simulateKeyRepeatEvent(
LogicalKeyboardKey key, {String? platform, PhysicalKeyboardKey? physicalKey, String? character}) → Future< bool> - Simulates sending a hardware key repeat event through the system channel.
-
simulateKeyUpEvent(
LogicalKeyboardKey key, {String? platform, PhysicalKeyboardKey? physicalKey}) → Future< bool> - Simulates sending a hardware key up event through the system channel.
-
spawnHybridCode(
String dartCode, {Object? message, bool stayAlive = false}) → StreamChannel -
Spawns a VM isolate that runs the given
dartCode
, which is loaded as the contents of a Dart library. -
spawnHybridUri(
Object uri, {Object? message, bool stayAlive = false}) → StreamChannel -
Spawns a VM isolate for the given
uri
, which may be a Uri or a String. -
startsWith(
String prefixString) → Matcher -
Returns a matcher that matches if the match argument is a string and
starts with
prefixString
. -
stringContainsInOrder(
List< String> substrings) → Matcher -
Returns a matcher that matches if the match argument is a string and
contains a given list of
substrings
in relative order. -
tearDown(
dynamic body()) → void - Registers a function to be run after tests.
-
tearDownAll(
dynamic body()) → void - Registers a function to be run once after all tests.
-
test(
Object description, dynamic body(), {String? testOn, Timeout? timeout, dynamic skip, dynamic tags, Map< String, dynamic> ? onPlatform, int? retry}) → void - Creates a new test case with the given description (converted to a string) and body.
-
testWidgets(
String description, WidgetTesterCallback callback, {bool? skip, Timeout? timeout, bool semanticsEnabled = true, TestVariant< Object?> variant = const DefaultTestVariant(), dynamic tags, int? retry, LeakTesting? experimentalLeakTesting}) → void -
Runs the
callback
inside the Flutter test environment. -
throwsA(
Object? matcher) → Matcher - This can be used to match three kinds of objects:
-
unorderedEquals(
Iterable expected) → Matcher -
Returns a matcher which matches Iterables that have the same length and
the same elements as
expected
, but not necessarily in the same order. -
unorderedMatches(
Iterable expected) → Matcher -
Returns a matcher which matches Iterables whose elements match the
matchers in
expected
, but not necessarily in the same order. -
within<
T> ({required num distance, required T from, DistanceFunction< T> ? distanceFunction}) → Matcher - Asserts that two values are within a certain distance from each other.
-
wrapMatcher(
Object? valueOrMatcher) → Matcher - Takes an argument and returns an equivalent Matcher.
Typedefs
-
AllMessagesHandler
= Future<
ByteData?> ? Function(String channel, MessageHandler? handler, ByteData? message) - A function which takes the name of the method channel, it's handler, platform message and asynchronously returns an encoded response.
- AnyDistanceFunction = num Function(Never a, Never b)
- The type of a union of instances of DistanceFunction<T> for various types T.
- DescribeMatchCallback = String Function(Plurality plurality)
- Signature for FinderBase.describeMatch.
-
DistanceFunction<
T> = num Function(T a, T b) - Computes the distance between two values.
- ElementPredicate = bool Function(Element element)
- Signature for CommonFinders.byElementPredicate.
- ErrorFormatter = String Function(Object? actual, Matcher matcher, String? reason, Map matchState, bool verbose)
- The type used for functions that can be used to build up error reports upon failures in expect.
-
EventDispatcher
= Future<
void> Function(PointerEvent event) - Signature for a callback that can dispatch events and returns a future that completes when the event dispatch is complete.
-
Func0<
T> = T Function() -
Func1<
T, A> = T Function([A a]) -
Func2<
T, A, B> = T Function([A a, B b]) -
Func3<
T, A, B, C> = T Function([A a, B b, C c]) -
Func4<
T, A, B, C, D> = T Function([A a, B b, C c, D d]) -
Func5<
T, A, B, C, D, E> = T Function([A a, B b, C c, D d, E e]) -
Func6<
T, A, B, C, D, E, F> = T Function([A a, B b, C c, D d, E e, F f]) - HitTester = HitTestResult Function(Offset location)
- Signature for callbacks that perform hit-testing at a given location.
- MockStreamHandlerOnCancelCallback = void Function(Object? arguments)
- Typedef for the inline onCancel callback.
- MockStreamHandlerOnListenCallback = void Function(Object? arguments, MockStreamHandlerEventSink events)
- Typedef for the inline onListen callback.
- PaintPatternPredicate = bool Function(Symbol methodName, List arguments)
- Signature for the PaintPattern.something and PaintPattern.everything predicate argument.
- SemanticsNodePredicate = bool Function(SemanticsNode node)
- Signature for CommonSemanticsFinders.byPredicate.
- TestExceptionReporter = void Function(FlutterErrorDetails details, String testDescription)
- Signature for the reportTestException callback.
- WidgetPredicate = bool Function(Widget widget)
- Signature for CommonFinders.byWidgetPredicate.
-
WidgetTesterCallback
= Future<
void> Function(WidgetTester widgetTester) - Signature for callback to testWidgets and benchmarkWidgets.
Exceptions / Errors
- TestFailure
- An exception thrown when a test assertion fails.