build(core): add bazel test targets for core (#21053)

- Add tests target for `test`, `test_node_only` and `test_web` in `core` package.
- Created a `_testing_init` pseudo package where bootstrap code for tests is kept.
- Moved `source_map_util` from `test` to `testing` so to prevent circular dependency.
- Removed `visibility:public` for testing `BUILD` packages.

PR Close #21053
This commit is contained in:
Misko Hevery
2017-12-16 11:35:47 -08:00
committed by Igor Minar
parent f3fc74ab67
commit 47bcb5bc35
19 changed files with 149 additions and 28 deletions

View File

@ -1,6 +1,6 @@
package(default_visibility = ["//visibility:public"])
load("@build_bazel_rules_typescript//:defs.bzl", "ts_library")
load("@build_bazel_rules_typescript//:defs.bzl", "ts_library", "ts_web_test")
load("@build_bazel_rules_nodejs//:defs.bzl", "jasmine_node_test")
ts_library(
@ -8,7 +8,10 @@ ts_library(
testonly = 1,
srcs = glob(
["**/*.ts"],
exclude = ["render3/**/*.ts"],
exclude = [
"**/*_node_only_spec.ts",
"render3/**/*.ts",
],
),
tsconfig = "//packages:tsconfig",
deps = [
@ -17,7 +20,6 @@ ts_library(
"//packages/animations/browser/testing",
"//packages/common",
"//packages/compiler",
"//packages/compiler/test",
"//packages/compiler/testing",
"//packages/core",
"//packages/core/testing",
@ -25,22 +27,48 @@ ts_library(
"//packages/platform-browser-dynamic",
"//packages/platform-browser/animations",
"//packages/platform-browser/testing",
"//packages/platform-server",
"//packages/router",
"//packages/router/testing",
"@rxjs",
],
)
# TODO(mhevery): re-enable when passing
ts_library(
name = "test_node_only_lib",
testonly = 1,
srcs = glob(["**/*_node_only_spec.ts"]),
tsconfig = "//packages:tsconfig",
deps = [
":test_lib",
"//packages/compiler",
"//packages/compiler/testing",
"//packages/core",
"//packages/core/testing",
"//packages/platform-server",
"//packages/platform-server/testing",
],
)
jasmine_node_test(
name = "test",
srcs = [],
bootstrap = [
"zone.js/dist/zone-node.js",
],
tags = ["manual"],
bootstrap = ["angular_src/packages/_testing_init/init_node_spec.js"],
deps = [
":test_lib",
":test_node_only_lib",
"//packages/_testing_init:node",
"//packages/platform-server",
"//packages/platform-server/testing",
],
)
ts_web_test(
name = "test_web",
bootstrap = [
"//:angular_bootstrap_scripts",
],
# do not sort
deps = [
"//packages/_testing_init:browser",
":test_lib",
],
)