Тестовые примеры Angular6 терпят неудачу с несвязанным сообщением об ошибке

Я перенес приложение Angular 4 в Angular 6, и теперь тестовые случаи завершаются с ошибкой со следующим сообщением об ошибке в терминале, и он показывает успех в браузере. Кроме того, иногда тестовые примеры проходят без отображения сообщения об ошибке. Таким образом, мы можем сказать, что я получаю следующую ошибку в 60% случаев, когда я запускаю тест ng.

Chrome 67.0.3396 (Linux 0.0.0) ERROR
 {
    "message": {
      "isTrusted": true
    },
    "str": "[object ErrorEvent]"
  }

Я пытался обновить и понизить версию jasmine и jasmine-core.

Это мой пакет.json

{
  "name": "anonymos",
  "version": "0.0.0",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "^6.0.3",
    "@angular/common": "^6.0.3",
    "@angular/compiler": "^6.0.3",
    "@angular/core": "^6.0.3",
    "@angular/forms": "^6.0.3",
    "@angular/http": "^6.0.3",
    "@angular/platform-browser": "^6.0.3",
    "@angular/platform-browser-dynamic": "^6.0.3",
    "@angular/router": "^6.0.3",
    "@ng-bootstrap/ng-bootstrap": "^2.2.0",
    "angular-cookie": "^4.1.0",
    "angular-in-memory-web-api": "^0.6.0",
    "angular2-cookie": "^1.2.6",
    "angular2-recaptcha": "1.1.0",
    "body-parser": "1.18.3",
    "bootstrap": "4.1.2",
    "cookie-parser": "1.4.3",
    "core-js": "^2.5.4",
    "es6-shim": "0.35.3",
    "http-server": "0.11.1",
    "jquery": "^3.3.1",
    "js-base64": "2.4.8",
    "node-sass": "^4.9.2",
    "popper.js": "^1.14.3",
    "reflect-metadata": "0.1.12",
    "rxjs": "^6.0.0",
    "zone.js": "^0.8.26"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~0.6.8",
    "@angular/cli": "~6.0.8",
    "@angular/compiler-cli": "^6.0.3",
    "@angular/language-service": "^6.0.3",
    "@types/jasmine": "~2.8.6",
    "@types/jasminewd2": "~2.0.3",
    "@types/jquery": "3.3.4",
    "@types/node": "^8.10.21",
    "codelyzer": "~4.2.1",
    "jasmine": "^3.1.0",
    "jasmine-core": "^2.9.0",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "^2.0.4",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "~2.0.0",
    "karma-jasmine": "~1.1.1",
    "karma-jasmine-html-reporter": "^0.2.2",
    "protractor": "~5.3.0",
    "ts-node": "~5.0.1",
    "tslint": "~5.9.1",
    "typescript": "~2.7.2"
  }
}

Если что-то еще нужно для отладки, пожалуйста, дайте мне знать. Я не могу загрузить тестовые примеры, так как их около 350.


person Bobin Singla    schedule 12.08.2018    source источник
comment
то же самое здесь ... не могли бы вы найти решение?   -  person DAG    schedule 14.08.2018
comment
@DAG Нет, мужик! Я ищу решение за последние 2 недели.   -  person Bobin Singla    schedule 16.08.2018
comment
Я получил это, но обошел это, сузив файлы, которые я добавлял в массив файлов в Karma.conf.js. В основном я включал polyfills.ts, и этот файл вызывал проблему. Я его исключил и ошибка исчезла. Пока не знаю, почему   -  person Neil    schedule 20.08.2018


Ответы (1)


Я решил это, добавив эти импорты в файл test.ts:

import 'zone.js/dist/long-stack-trace-zone';
import 'zone.js/dist/proxy.js';
import 'zone.js/dist/sync-test';
import 'zone.js/dist/mocha-patch';
import 'zone.js/dist/async-test';
import 'zone.js/dist/fake-async-test';

Не знаю точную причину. Но это сделало это для меня.

ПРИМЕЧАНИЕ. Для тестирования я использую мокко, а не жасмин, поэтому, думаю, вам нужно заменить 'zone.js/dist/mocha-patch' на 'zone.js/dist/jasmine-patch'.

person fredrik    schedule 24.09.2018