angular-docs-cn/docs/DEBUG_MATERIAL_IVY.md
Paul Gschwendtner 4d436800de docs: add guide to reproduce material-unit-test failures locally (#32138)
Adds a new guide that can be used to reproduce failures
reported in the `material-unit-tests` job locally.

The document should live in the framework repository as
the package building scripts are local to the framework
repository.

PR Close #32138
2019-08-14 12:02:12 -07:00

1.6 KiB

Debugging the Material unit tests job

Currently all changes to Ivy are validated against the test suite of the angular/components repository. In order to debug the material-unit-tests CI job, the following steps can be used:

1) Build the Ivy package output by running ./scripts/build-ivy-npm-packages.sh in the angular/angular repo.

2) Clone the angular/components repository if not done yet (quick link to repo).

3) Set up the package output in the components repository by running the following command in the angular/angular repo:

node ./scripts/ci/update-deps-to-dist-packages.js {COMPONENTS_REPO}/package.json ./dist/packages-dist-ivy-aot

4) Switch into the components repository and run the tests by using the following command:

yarn test --deleted_packages=//src/dev-app --define=compile=aot

Running tests for individual entry-points

The yarn test script from the components repository runs all tests in the project. This is sometimes not desired because it involves building and testing of all packages and entry-points. Running tests for an individual entry-point is possible by explicitly selecting a given test target.

Here is an example of commands that run individual test targets. Note that it is important to specify the --define=compile=aot flag in order to run tests with Ivy.

yarn bazel test --define=compile=aot src/material/slider:unit_tests
yarn bazel test --define=compile=aot src/cdk/a11y:unit_tests
yarn bazel test --define=compile=aot src/material/toolbar:unit_tests