diff --git a/tools/testing/init_node_spec.ts b/tools/testing/init_node_spec.ts index e28b9c5c3a..d9f256f830 100644 --- a/tools/testing/init_node_spec.ts +++ b/tools/testing/init_node_spec.ts @@ -15,9 +15,14 @@ import 'zone.js/dist/fake-async-test.js'; import 'zone.js/dist/task-tracking.js'; import 'reflect-metadata/Reflect'; -// Initialize jasmine with @bazel/jasmine boot() function. This will initialize -// global.jasmine so that it can be patched by zone.js jasmine-patch.js. -require('@bazel/jasmine').boot(); +// We must first initialize jasmine-core before calling +// requiring `zone.js/dist/jasmine-patch.js` which patches +// jasmine ENV with code which understands ProxyZone. +// jasmine_node_test under Bazel will check if `jasmineCore.boot(jasmineCore)` +// has been called and re-use the env if it has. +// See https://github.com/bazelbuild/rules_nodejs/pull/539 +const jasmineCore: any = require('jasmine-core'); +jasmineCore.boot(jasmineCore); import 'zone.js/dist/jasmine-patch.js'; (global as any).isNode = true;