Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Angular 7 : ng test hangs , keeps running tests repeatedly

i ve recently migrated my Angular 6 app to Angular 7

my package.json looks like this :

{
  "name": "myApp",
  "version": "3.0.0",
  "license": "MIT",
  "scripts": {
    "ng": "ng",
    "start": "ng serve --public-host http://localhost:4200/",
    "build": "ng build --prod",
    "serve": "ng serve --optimization=true --source-map=true --eval-source-map=true --live-reload=true --aot=false --vendor-chunk=true",
    "build-prod": "node --max_old_space_size=5000 ./node_modules/.bin/ng build --configuration=production",
    "build-localProd": "node --max_old_space_size=5000 ./node_modules/.bin/ng build --configuration=localProduction",
    "build-dev": "node --max_old_space_size=7000 ./node_modules/.bin/ng build --configuration=development",
    "test": "ng test --source-map=false --watch=false --code-coverage",
    "test-headless": "ng test --browsers=ChromeHeadless --watch=false --code-coverage",
    "doc": "compodoc -p src/tsconfig.app.json -s --port 8081",
    "lint": "ng lint",
    "e2e": "ng e2e",
    "sonar-scanner": "node_modules/sonar-scanner/bin/sonar-scanner"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "^7.2.2",
    "@angular/cdk": "7.2.2",
    "@angular/common": "^7.2.2",
    "@angular/compiler": "^7.2.2",
    "@angular/core": "^7.2.2",
    "@angular/flex-layout": "^7.0.0-beta.23",
    "@angular/forms": "^7.2.2",
    "@angular/http": "^7.2.2",
    "@angular/material": "7.2.2",
    "@angular/platform-browser": "^7.2.2",
    "@angular/platform-browser-dynamic": "^7.2.2",
    "@angular/platform-server": "^7.2.2",
    "@angular/router": "^7.2.2",
    "@auth0/angular-jwt": "2.1.0",
    "@compodoc/compodoc": "^1.1.7",
    "@types/bootstrap": "4.2.1",
    "angular-user-idle": "^2.0.0",
    "bootstrap": "4.2.1",
    "classlist.js": "^1.1.20150312",
    "core-js": "^2.6.3",
    "devextreme": "^18.2.4",
    "devextreme-angular": "^18.2.4",
    "es5-shim": "^4.5.10",
    "jquery": "^3.3.1",
    "moment": "^2.18.1",
    "ngx-bootstrap": "3.2.0",
    "ngx-cookie-service": "2.1.0",
    "ngx-device-detector": "1.3.5",
    "ngx-logger": "3.3.11",
    "ngx-spinner": "7.0.0",
    "popper.js": "1.14.6",
    "proxy-polyfill": "^0.1.7",
    "rxjs": "^6.3.3",
    "sha1": "^1.1.1",
    "web-animations-js": "^2.3.1",
    "zone.js": "^0.8.29"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "^0.12.4",
    "@angular/cli": "^7.2.3",
    "@angular/compiler-cli": "^7.2.2",
    "@angular/language-service": "^7.2.2",
    "@types/jasmine": "^3.3.7",
    "@types/jasminewd2": "~2.0.2",
    "@types/jquery": "^3.3.1",
    "@types/node": "^10.12.18",
    "codelyzer": "^4.5.0",
    "jasmine-core": "^3.3.0",
    "jasmine-spec-reporter": "^4.2.1",
    "karma": "^4.0.0",
    "karma-chrome-launcher": "^2.2.0",
    "karma-cli": "^2.0.0",
    "karma-coverage-istanbul-reporter": "2.0.4",
    "karma-jasmine": "^2.0.1",
    "karma-jasmine-html-reporter": "^1.4.0",
    "protractor": "^5.4.2",
    "rxjs-tslint": "^0.1.6",
    "sonar-scanner": "^3.1.0",
    "ts-node": "~4.1.0",
    "tslint": "^5.12.1",
    "typescript": "^3.2.4"
  }
}

Strangely when runnung : ng test --watch=false --code-coverage

The server keeps running and re-running the tests undefinitely , without stopping and without generating the coverage files .

this problem seems to be strange

Sugestions ??

like image 752
firasKoubaa Avatar asked Feb 01 '19 15:02

firasKoubaa


People also ask

When should we use fixture detectChanges?

You must tell the TestBed to perform data binding by calling fixture. detectChanges(). Delayed change detection is intentional and useful. It gives the tester an opportunity to inspect and change the state of the component before Angular initiates data binding and calls lifecycle hooks.

Which testing framework is best for Angular?

When it comes to the Angular world, Jasmine is the recommended testing framework. Angular CLI comes by default with Jasmine and Karma as the test runner. It generates test files at component creation, collects unit tests, runs karma, and displays results on a web page.

What is karma in Angular testing?

Karma is a task runner for our tests. It uses a configuration file in order to set the startup file, the reporters, the testing framework, the browser among other things. The rest of the dependencies are mainly reporters for our tests, tools to use karma and jasmine and browser launchers.

What is isolated testing in Angular?

Isolated unit tests examine an instance of a class all by itself without any dependence on Angular or any injected values. The tester creates a test instance of the class with new , supplying test doubles for the constructor parameters as needed, and then probes the test instance API surface.


1 Answers

Try this command ng test -- --watch=false --code-coverage

like image 157
Maxim Palenov Avatar answered Oct 09 '22 04:10

Maxim Palenov