0.6.2-wip
0.6.1
- Drop support for null unsafe Dart, bump SDK constraint to
3.0.0. - Make some implementation classes
final. These classes were never intended to be extended or implemented. Metadata, PlatformSelector, RemoteListener, Runtime, StackTraceFormatter, SuitePlatform, RemoteException, TestHandle, OutstandingWork, OutsideTestException, OnPlatform, Retry, Skip, Tags, TestOn, Timeout. - Mark an implementation class
interface: StackTraceMapper. - Change the
Compiler class into an enum. - Make
Fake a mixin class. - Allow the latest analyzer (6.x.x).
0.6.0
- Remove the
package:test_api/expect.dart' library. testwill export frompackage:matcher` directly. - Fix compatibility with wasm number semantics.
0.5.2
- Remove deprecation for the
scaffolding.dart and backend.dart libraries. - Export
registerException from the scaffolding.dart library.
0.5.1
- Handle a missing
'compiler' value when running a test compiled against a newer test_api than the runner back end is using. The expectation was that the json protocol is only used across packages compatible with the same major version of the test_api package, but flutter test does not check the version of packages in the pub solve for user test code.
0.5.0
- Add
Compiler class, exposed through backend.dart. - Support compiler identifiers in platform selectors.
- Add
compiler field to SuitePlatform. This will become required in the next major release. - BREAKING Add required
defaultCompiler and supportedCompilers fields to Runtime. - Add
package:test_api/hooks_testing.dart library for writing tests against code that uses package:test_api/hooks.dart. - BREAKING Remove
ErrorFormatter, expectAsync, throws, and Throws from package:test_api/test_api.dart.
0.4.18
- Don't run
tearDown until the test body and outstanding work is complete, even if the test has already failed.
0.4.17
- Deprecate
throwsNullThrownError, use throwsA(isA<TypeError>()) instead. The implementation has been changed to ease migrations. - Deprecate
throwsCyclicInitializationError and replace the implementation with Throws(TypeMatcher<Error>()). The specific exception no longer exists and there is no guarantee about what type of error will be thrown.
0.4.16
- Add the
experimental-chrome-wasm runtime. This is very unstable and will eventually be deleted, to be replaced by a --compiler flag. See https://github.com/dart-lang/test/issues/1776 for more information on future plans - Add
isWasm field to Runtime (defaults to false).
0.4.15
- Expand the pubspec description.
- Support
package:matcher version 0.12.13.
0.4.14
- Require Dart >= 2.18.0
- Support the latest
package:analyzer.
0.4.13
- Fix
printOnFailure output to be associated with the correct test.
0.4.12
0.4.11
- Support the latest version of
package:matcher.
0.4.10
- Add
Target to restrict TestOn annotation to library level.
0.4.9
- Add
ignoreTimeouts option to Suite, which disables all timeouts for all tests in that suite.
0.4.8
TestFailure implements Exception for compatibility with only_throw_exceptions.
0.4.7
- Remove logging about enabling the chain-stack-traces flag from the invoker.
0.4.6
- Give a better exception when using
markTestSkipped outside of a test. - Format stack traces if a formatter is available when serializing tests and groups from the remote listener.
0.4.5
- Add defaulting for older test backends that don't pass a configuration for the
allow_duplicate_test_names parameter to the remote listener.
0.4.4
- Allow disabling duplicate test or group names in the
Declarer.
0.4.3
- Use the latest
package:matcher.
0.4.2
- Update
analyzer constraint to >=1.5.0 <3.0.0.
0.4.1
- Give a better error when
printOnFailure is called from outside a test zone.
0.4.0
- Add libraries
scaffolding.dart, and expect.dart to allow importing as subset of the normal surface area. - Add new APIs in
hooks.dart to allow writing custom expectation frameworks which integrate with the test runner. - Add examples to
throwsA and make top-level throws... matchers refer to it. - Disable stack trace chaining by default.
- Fix
expectAsync function type checks. - Add
RemoteException, RemoteListener, StackTraceFormatter, and StackTraceMapper to backend.dart. - Breaking remove
Runtime.phantomJS - Breaking Add callback to get the suite channel in the
beforeLoad callback of RemoteListener.start. This is now used in place of using zones to communicate the value.
0.3.0
- Breaking
TestException.message is now nullable.- Fixes handling of
null messages in remote exceptions.
0.2.20
- Fix some strong null safety mode errors in the original migration.
0.2.19
- Stable release for null safety.
0.2.19-nullsafety.7
- Expand upper bound constraints for some null safe migrated packages.
0.2.19-nullsafety.6
- Fix
spawnHybridUri to respect language versioning of the spawned uri.
0.2.19-nullsafety.5
- Update SDK constraints to
>=2.12.0-0 <3.0.0 based on beta release guidelines.
0.2.19-nullsafety.4
- Allow prerelease versions of the 2.12 sdk.
0.2.19-nullsafety.3
- Add capability to filter to a single exact test name in
Declarer. - Add
markTestSkipped API.
0.2.19-nullsafety.2
- Allow
2.10 stable and 2.11.0-dev SDKs. - Annotate the classes used as annotations to restrict their usage to library level.
0.2.19-nullsafety
- Migrate to NNBD.
- The vast majority of changes are intended to express the pre-existing behavior of the code regarding to handling of nulls.
- Breaking Change:
GroupEntry.name is no longer nullable, the root group now has the empty string as its name.
- Add the
Fake class, available through package:test_api/fake.dart. This was previously part of the Mockito package, but with null safety it is useful enough that we decided to make it available through package:test. In a future release it will be made available directly through package:test_api/test_api.dart (and hence through package:test_core/test_core.dart and package:test/test.dart).
0.2.18+1 (Backport)
- Fix
spawnHybridUri to respect language versioning of the spawned uri.
0.2.18
- Update to
matcher version 0.12.9.
0.2.17
- Add
languageVersionComment on the MetaData class. This should only be present for test suites.
0.2.16
- Deprecate
LiveTestController.liveTest, the LiveTestController instance now implements LiveTest and can be used directly.
0.2.15
- Cancel any StreamQueue that is created as a part of a stream matcher once it is done matching.
- This fixes a bug where using a matcher on a custom stream controller and then awaiting the
close() method on that controller would hang.
- Avoid causing the test runner to hang if there is a timeout during a
tearDown callback following a failing test case.
0.2.14
- Bump minimum SDK to
2.4.0 for safer usage of for-loop elements.
0.2.13
- Work around a bug in the
2.3.0 SDK by avoiding for-loop elements at the top level.
0.2.12
- Link to docs on setting timeout when a test times out with the default duration.
- No longer directly depend on
package:pedantic.
0.2.11
- Extend the timeout for synthetic tests, e.g.
tearDownAll.
0.2.10
- Update to latest
package:matcher. Improves output for instances of private classes.
0.2.9
- Treat non-solo tests as skipped so they are properly reported.
0.2.8
- Remove logic which accounted for a race condition in state change. The logic was required because
package:sse used to not guarantee order. This is no longer the case.
0.2.7
- Prepare for upcoming
Stream<List<int>> changes in the Dart SDK. - Mark
package:test_api as deprecated to prevent accidental use.
0.2.6
- Don't swallow exceptions from callbacks in
expectAsync*. - Internal cleanup - fix lints.
- Fixed a race condition that caused tests to occasionally fail during
tearDownAll with the message (tearDownAll) - did not complete [E].
0.2.5
- Expose the
Metadata, PlatformSelector, Runtime, and SuitePlatform classes publicly through a new backend.dart import.
0.2.4
- Allow
stream_channel version 2.0.0.
0.2.3
- Update to matcher version
0.12.5.
0.2.2
- Require Dart SDK
>=2.1.0.
0.2.1
- Add
remote_listener.dart and suite_channel_manager.dart.
0.2.0
- Remove “runner” extensions.
0.1.1
- Update
stack_trace_formatter to fold test_api frames by default.
0.1.0
- Initial release of
test_api. Provides the basic API for writing tests and touch points for implementing a custom test runner.