Add capabilities for building direct test runners (#1332)

Towards #1310, #1328

Add `directRunTest` to configure a reporter and run tests directly in
the same isolate.

Add `enumerateTestCases` to collect test names without running them, and
`directRunSingleTest` to run a specific test by its full name. These
APIs ensure the uniqueness of test names to avoid ambiguity. This
restriction may be spread to tests run through the normal test runner as
well.

- Add `fullTestName` option on `Declarer`. When used, only the test (or
  tests if uniqueness is not checked separately) will be considered as a
  test case.
- Add `directRunTest`, `enumerateTestCases`, and `directRunSingleTest`
  APIs. These are kept under a `lib/src/` import for now, and any other
  package that uses these APIs should pin to a specific version of
  `package:test_core`. The details of these APIs might change without a
  major version bump.
6 files changed
tree: 3494b06323cbe6a6105d59479ed5f6729124e7ee
  1. pkgs/
  2. tool/
  3. .gitignore
  4. .travis.yml
  5. analysis_options.yaml
  6. CONTRIBUTING.md
  7. mono_repo.yaml
  8. README.md
README.md

Test Mono Repository

This repository contains packages for writing and running Dart tests.

test

A full featured packaged for writing and running Dart tests on various platforms, e.g. VM, Chrome, Node etc.

test_api

A minimal package for writing tests. This package is used by package:test and package:test_core.

test_core

A minimal package for writing and running tests. It also contains extensions for implementing a custom test runner. This package is used by package:test.