1.13.0
.--pub-serve
.1.11.0
and shelf
>= 0.6.0
, allowing test
to remove various hacks and workarounds.Add a --pause-after-load
flag that pauses the test runner after each suite is loaded so that breakpoints and other debugging annotations can be added. Currently this is only supported on browsers.
Add a Timeout.none
value indicating that a test should never time out.
The dart-vm
platform selector variable is now true
for Dartium and content shell.
The compact reporter no longer prints status lines that only update the clock if they would get in the way of messages or errors from a test.
The expanded reporter no longer double-prints the descriptions of skipped tests.
analyzer
to include 0.26.0
.collection
package.This version was unpublished due to issue 287.
Properly report load errors caused by failing to start browsers.
Substantially increase browser timeouts. These timeouts are the cause of a lot of flakiness, and now that they don‘t block test running there’s less harm in making them longer.
This version was unpublished due to issue 287.
This version was unpublished due to issue 287.
The compact reporter will update the timer every second, rather than only updating it occasionally.
The compact reporter will now print the full, untruncated test name before any errors or prints emitted by a test.
The expanded reporter will now always print the full, untruncated test name.
This version was unpublished due to issue 287.
This version was unpublished due to issue 287.
Improve the display of syntax errors in VM tests.
Work around a Firefox bug. Computed styles now work in tests on Firefox.
If a future matched against the completes
or completion()
matcher throws an error, that error is printed directly rather than being wrapped in a string. This allows such errors to be captured using the Zone API and improves formatting.
Improve support for Polymer tests. This fixes a flaky time-out error and adds support for Dartifying JavaScript stack traces when running Polymer tests via pub serve
.
In order to be more extensible, all exception handling within tests now uses the Zone API.
Add a heartbeat to reset a test's timeout whenever the test interacts with the test infrastructure.
expect()
, expectAsync()
, and expectAsyncUntil()
throw more useful errors if called outside a test body.
Convert JavaScript stack traces into Dart stack traces using source maps. This can be disabled with the new --js-trace
flag.
Improve the browser test suite timeout logic to avoid timeouts when running many browser suites at once.
--verbose-trace
flag to include core library frames in stack traces.0.12.0
adds support for a test runner, which can be run via pub run test:test
(or pub run test
in Dart 1.10). By default it runs all files recursively in the test/
directory that end in _test.dart
and aren't in a packages/
directory.
The test runner supports running tests on the Dart VM and many different browsers. Test files can use the @TestOn
annotation to declare which platforms they support. For more information on this and many more new features, see the README.
As part of moving to a runner-based model, most test configuration is moving out of the test file and into the runner. As such, many ancillary APIs have been removed. These APIs include skip_
and solo_
functions, Configuration
and all its subclasses, TestCase
, TestFunction
, testConfiguration
, formatStacks
, filterStacks
, groupSep
, logMessage
, testCases
, BREATH_INTERVAL
, currentTestCase
, PASS
, FAIL
, ERROR
, filterTests
, runTests
, ensureInitialized
, setSoloTest
, enableTest
, disableTest
, and withTestEnvironment
.
FailureHandler
, DefaultFailureHandler
, configureExpectFailureHandler
, and getOrCreateExpectFailureHandler
which used to be exported from the matcher
package have also been removed. They existed to enable integration between test
and matcher
that has been streamlined.
A number of APIs from matcher
have been into test
, including: completes
, completion
, ErrorFormatter
, expect
,fail
, prints
, TestFailure
, Throws
, and all of the throws
methods. Some of these have changed slightly:
expect
no longer has a named failureHandler
argument.
expect
added an optional formatter
argument.
completion
argument id
renamed to description
.
##0.11.5+1
##0.11.5
matcher
.##0.11.4
matcher
.##0.11.3
##0.11.2
##0.11.1+1
##0.11.1
reason
named argument to expectAsync
and expectAsyncUntil
, which has the same definition as expect
's reason
argument.##0.11.0+6
##0.11.0+5
##0.11.0+4
##0.11.0+3
matcher
version.##0.11.0+2
##0.11.0+1
stack_trace
.##0.11.0
expectAsync0
, expectAsync1
, and expectAsync2
- use expectAsync
insteadexpectAsyncUntil0
, expectAsyncUntil1
, and expectAsyncUntil2
- use expectAsyncUntil
insteadguardAsync
- no longer neededprotectAsync0
, protectAsync1
, and protectAsync2
- no longer neededmatcher.dart
and mirror_matchers.dart
have been removed. They are now in the matcher
package.mock.dart
has been removed. It is now in the mock
package.##0.10.1+2
mock
.##0.10.1+1
##0.10.1
matcher.dart
and mirror_matchers.dart
are now in the matcher
package.mock.dart
is now in the mock
package.equals
now allows a nested matcher as an expected list element or map value when doing deep matching.expectAsync
and expectAsyncUntil
now support up to 6 positional arguments and correctly handle functions with optional positional arguments with default values.##0.10.0
Zone
. This ensures that any exceptions that occur is async operations are reported back to the source test case.guardAsync
, protectAsync0
, protectAsync1
, and protectAsync2
Zone
addresses the need for these methods.expectAsync
replaces the now deprecated expectAsync0
, expectAsync1
and expectAsync2
expectAsyncUntil
replaces the now deprecated expectAsyncUntil0
, expectAsyncUntil1
and expectAsyncUntil2
TestCase
:setUp
, tearDown
, testFunction
enabled
is now get-onlypass
, fail
, error
interactive_html_config.dart
has been removed.runTests
, tearDown
, setUp
, test
, group
, solo_test
, and solo_group
now throw a StateError
if called while tests are running.rerunTests
has been removed.