NativeScript / NativeScript/nativescript-cli

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

未關閉
#5,460 1 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

還沒有人認領這個 Issue。

unit testing
主要語言
JavaScript
星號
1.1k
分支
204
平均合併
1 天 9 小時
30 天內合併 PR
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. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 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 摘要。