[email protected] breaks Karma test runner

Created on 10 May 2018  Â·  4Comments  Â·  Source: angular/angularfire

After upgrading from AngularFire2 5.0.0-rc.6.0 to 5.0.0-rc.7, Karma appears to no longer detect unit tests defined in **/*.spec.ts files.

Reproducible as follows.

  1. Follow the AngularFire setup steps defined in docs/install-and-setup.md.
  2. Launch Karma by running ng test.

I am not very familiar Karma bootstrap mechanics, so if there's something obvious I'm missing, please feel free to point me in right direction and close this issue.

Version info

Angular: 6.0.0

% ng --version

     _                      _                 ____ _     ___
    / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
   / â–³ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
  / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
 /_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
                |___/


Angular CLI: 6.0.0
Node: 9.11.1
OS: darwin x64
Angular: 6.0.0
... animations, cli, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.6.0
@angular-devkit/build-angular     0.6.0
@angular-devkit/build-optimizer   0.6.0
@angular-devkit/core              0.6.0
@angular-devkit/schematics        0.6.0
@ngtools/webpack                  6.0.0
@schematics/angular               0.6.0
@schematics/update                0.6.0
rxjs                              6.1.0
typescript                        2.7.2
webpack                           4.6.0

Firebase: 4.13.1

AngularFire: 5.0.0-rc.7

Browser: Chrome OS v66.0.3359

Operating system: macOS Sierra v10.12.6

How to reproduce these conditions

Failing test unit, Plunkr, or JSFiddle demonstrating the problem

I have created two (2) stock Angular repos demonstrating the issue.

To reproduce, clone these repos separately, then run npm install / yarn followed by ng test in each to demonstrate the difference between stock Karma unit tests with AngularFire2 5.0.0-rc.6.0 vs 5.0.0-rc.7.

Steps to set up and reproduce

  1. Follow the setup steps defined in docs/install-and-setup.md.
  2. Launch Karma by running ng test.

Debug output

* Errors in the JavaScript console *

% ng test
 10% building modules 1/1 modules 0 active(node:10914) DeprecationWarning: Tapable.plugin is deprecated. Use new API on `.hooks` instead
09 05 2018 15:03:55.728:INFO [karma]: Karma v1.7.1 server started at http://0.0.0.0:9876/
09 05 2018 15:03:55.730:INFO [launcher]: Launching browser Chrome with unlimited concurrency
09 05 2018 15:03:55.736:INFO [launcher]: Starting browser Chrome
09 05 2018 15:04:01.932:INFO [Chrome 66.0.3359 (Mac OS X 10.12.6)]: Connected on socket utmTD_2mcCpKpxdsAAAA with id 16434490
Chrome 66.0.3359 (Mac OS X 10.12.6): Executed 0 of 0 ERROR (0.011 secs / 0 secs)

* Output from firebase.database().enableLogging(true); *

Not sure how to enable this.

* Screenshots *

screen shot 2018-05-09 at 3 04 49 pm

Expected behavior

Karma test runner detects and runs stock Angular unit tests after installing [email protected].

% ng test
 10% building modules 1/1 modules 0 active(node:11534) DeprecationWarning: Tapable.plugin is deprecated. Use new API on `.hooks` instead
09 05 2018 15:19:20.618:INFO [karma]: Karma v1.7.1 server started at http://0.0.0.0:9876/
09 05 2018 15:19:20.619:INFO [launcher]: Launching browser Chrome with unlimited concurrency
09 05 2018 15:19:20.627:INFO [launcher]: Starting browser Chrome
09 05 2018 15:19:27.630:INFO [Chrome 66.0.3359 (Mac OS X 10.12.6)]: Connected on socket wYUrolw6Rpe90NquAAAA with id 50594180
Chrome 66.0.3359 (Mac OS X 10.12.6): Executed 3 of 3 SUCCESS (0.195 secs / 0.17 secs)

Actual behavior

Karma test runner seems to no longer detect stock Angular unit tests after installing [email protected].

% ng test
 10% building modules 1/1 modules 0 active(node:10914) DeprecationWarning: Tapable.plugin is deprecated. Use new API on `.hooks` instead
09 05 2018 15:03:55.728:INFO [karma]: Karma v1.7.1 server started at http://0.0.0.0:9876/
09 05 2018 15:03:55.730:INFO [launcher]: Launching browser Chrome with unlimited concurrency
09 05 2018 15:03:55.736:INFO [launcher]: Starting browser Chrome
09 05 2018 15:04:01.932:INFO [Chrome 66.0.3359 (Mac OS X 10.12.6)]: Connected on socket utmTD_2mcCpKpxdsAAAA with id 16434490
Chrome 66.0.3359 (Mac OS X 10.12.6): Executed 0 of 0 ERROR (0.011 secs / 0 secs)

All 4 comments

Same issue

We didn't support Angular 6 until just now. Can you confirm if this is still an issue in angularfire2@next and open a new issue if so?

Confirmed, Angular 6 unit tests run as expected with [email protected]. Thank you!

FYI just cut a couple fixes to angularfire2@next (8.1)

Was this page helpful?
0 / 5 - 0 ratings

Related issues

jteplitz picture jteplitz  Â·  3Comments

mypark picture mypark  Â·  3Comments

fisherds picture fisherds  Â·  3Comments

jnupeter picture jnupeter  Â·  3Comments

itisparas picture itisparas  Â·  3Comments