NativeScript / NativeScript/nativescript-cli

TypeError: null is not an object (evaluating 'ProxyZoneSpec.assertPresent')

オープン
#5,460 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

unit testing
主要言語
JavaScript
スター
1.1k
フォーク
204
平均マージ
1日 9時間
マージ済み PR(30日)
8

説明

Environment

  • CLI: 7.1.1
  • Cross-platform modules:
  • Android Runtime: 7.0.1
  • iOS Runtime: JSC
  • XCode Version: 12.3
  • Plugin(s): See below

Describe the bug
Since I updated Angular to v10 it seems that the unit testing is broken. Whenever I use fakeAsync I get this error;
TypeError: null is not an object (evaluating 'ProxyZoneSpec.assertPresent') in file:///app/vendor.js (line 76383)

it('smoke test', fakeAsync(() => {
  expect(true).toBeTrue();
}));
{
  "dependencies": {
    "@angular/animations": "~10.1.0",
    "@angular/common": "~10.1.0",
    "@angular/compiler": "~10.1.0",
    "@angular/core": "~10.1.0",
    "@angular/forms": "~10.1.0",
    "@angular/platform-browser": "~10.1.0",
    "@angular/platform-browser-dynamic": "~10.1.0",
    "@angular/router": "~10.1.0",
    "@danvick/ngx-translate-nativescript-loader": "^3.0.0",
    "@klippa/nativescript-http": "^2.0.1",
    "@nativescript/angular": "~10.1.7",
    "@nativescript/appversion": "^2.0.0",
    "@nativescript/background-http": "^5.0.1",
    "@nativescript/camera": "^5.0.2",
    "@nativescript/core": "^7.1.0",
    "@nativescript/email": "^2.0.0",
    "@nativescript/firebase": "^11.1.3",
    "@nativescript/imagepicker": "^1.0.2",
    "@nativescript/iqkeyboardmanager": "^2.0.0",
    "@nativescript/secure-storage": "^3.0.0",
    "@nativescript/unit-test-runner": "^1.0.2",
    "@ngx-translate/core": "^13.0.0",
    "@nstudio/nativescript-loading-indicator": "^4.0.0",
    "@rxweb/reactive-form-validators": "^2.1.2",
    "@sergeymell/nativescript-svg": "^1.0.5",
    "@triniwiz/nativescript-couchbase": "^1.0.0",
    "@triniwiz/nativescript-image-cache-it": "^7.0.4",
    "core-js": "^2.6.9",
    "jasmine-marbles": "^0.6.0",
    "lodash": "^4.17.15",
    "moment": "^2.25.2",
    "nativescript-advanced-permissions": "^1.2.0",
    "nativescript-barcodescanner": "^4.0.1",
    "nativescript-carousel": "^7.0.1",
    "nativescript-inappbrowser": "^3.0.1",
    "nativescript-phone": "^2.0.0",
    "nativescript-sentry": "file:plugins_nativescript-sentry-2.0.1.tgz",
    "nativescript-swiss-army-knife": "^4.0.2",
    "nativescript-theme-core": "^1.0.6",
    "nativescript-ui-listview": "^9.0.4",
    "nativescript-websockets": "^1.5.6",
    "property-watch-decorator": "^1.2.5",
    "reflect-metadata": "~0.1.12",
    "rxjs": "^6.6.0",
    "tslib": "1.10.0",
    "zone.js": "~0.11.1"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~0.1000.2",
    "@angular/cli": "~10.0.0",
    "@angular/compiler-cli": "~10.1.0",
    "@nativescript/android": "7.0.1",
    "@nativescript/ios": "6.5.4",
    "@nativescript/schematics": "^10.1.0",
    "@nativescript/tslint-rules": "~0.0.5",
    "@nativescript/types": "^7.1.0",
    "@nativescript/webpack": "^3.0.8",
    "@ngtools/webpack": "^10.2.0",
    "@types/jasmine": "~3.5.0",
    "@types/jasminewd2": "~2.0.3",
    "@types/lodash": "^4.14.150",
    "@types/node": "^12.11.1",
    "codelyzer": "^5.1.2",
    "cross-env": "^7.0.2",
    "husky": "^4.3.0",
    "istanbul-instrumenter-loader": "^3.0.1",
    "karma": "~4.4.1",
    "karma-coverage": "^2.0.1",
    "karma-coverage-istanbul-reporter": "~2.1.0",
    "karma-jasmine": "2.0.1",
    "karma-jasmine-html-reporter": "^1.4.2",
    "karma-mocha-reporter": "^2.2.5",
    "karma-nativescript-launcher": "0.4.0",
    "karma-webpack": "3.0.5",
    "lint-staged": "^10.5.0",
    "mkdirp": "^0.5.1",
    "node-sass": "^4.14.1",
    "pre-commit": "^1.2.2",
    "prettier": "^2.1.2",
    "scss-to-json": "^2.0.0",
    "stylelint": "^11.1.1",
    "stylelint-config-standard": "^19.0.0",
    "stylelint-scss": "^3.12.0",
    "ts-mockito": "^2.5.0",
    "tslint": "~6.1.3",
    "tslint-config-prettier": "^1.18.0",
    "typescript": "~3.9.0"
  },
  "main": "main.js"
}

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まず、記載されている Angular、NativeScript unit-test-runner、zone.js のバージョンを使って fakeAsync のスモークテストを再現します。unit-test-runner が Angular のテストセットアップとどのように統合されているかを調査し、エラーがバージョンの互換性によって引き起こされているかを確認します。スモークテストによって、互換性のないセットアップを特定し、修正または明確な互換性要件を確認できれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
angular, javascript
領域
cli, testing
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
30/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。