簡體   English   中英

使用npm為AngularJS安裝Karma和Jasmine測試框架-npm包已重命名

[英]Using npm to install Karma & Jasmine testing framework for AngularJS- npm package has been renamed

我最近接手了使用AngularJS為其前端編寫的應用程序的開發,並希望將一些自動化測試引入開發生命周期。

在對AngularJS可用的各種測試框架進行了一些研究之后,我決定使用Jasmine,因為它似乎最適合我們要運行的測試以及我們希望框架使用的功能提供。

我一直在遵循https://scotch.io/tutorials/testing-angularjs-with-jasmine-and-karma-part-1上的指南在我的開發環境中安裝和設置Karma&Jasmine,但是遇到了問題遵循這些設置指南之前,我從未見過:

我已經找到標題為Karma Setup的部分,並運行了命令:

npm install karma karma-jasmine jasmine-core karma-chrome-launcher --save-dev

這給了我以下命令行輸出:

npm WARN不推薦使用angular-ui-router@1.0.3:此npm軟件包“ angular-ui-router”已重命名為“ @ uirouter / angularjs”。 請更新您的package.json。 參見https://ui-router.github.io/blog/uirouter-scoped-packages/

angular-ui-router@1.0.3安裝H:\\ included \\ Documents \\ repositories \\ jasmine \\ node_modules \\ angular-ui-router

節點migration / migratewarn.js

警告! 此npm軟件包“ angular-ui-router”已重命名為“ @ uirouter / angularjs”。 請更新您的package.json有關詳細信息,請參見https://ui-router.github.io/blog/uirouter-scoped-packages/

jasmine@1.0.0 H:\\ included \\ Documents \\ repositories \\ jasmine

+-角度@ 1.6.6

+-角mo@1.6.6

`-angular-ui-router@1.0.3

npm警告可選的跳過選擇性依賴性:fsevents@^1.0.0(node_modules \\ chokidar \\ node_modules \\ fsevents):

npm WARN notsup跳過可選依賴項:fsevents@1.1.2不受支持的平台:通緝{“ os”:“ darwin”,“ arch”:“ any”}(當前:{“ os”:“ win32”,“ arch”: “ x64”})

npm WARN jasmine@1.0.0沒有描述

npm WARN jasmine@1.0.0沒有存儲庫字段。

如錯誤消息清楚指出的那樣,這是因為軟件包angular-ui-router已重命名為@uirouter/angularjs

為了解決這個問題,我在vi中打開了package.json文件,並更改了這一行:

  "angular-ui-router": "^1.0.3",

至:

  "@uirouter/angularjs": "^1.0.3",

如錯誤消息所述,(我在vi中轉義了轉義,並使用了:wq命令寫入文件並退出)並運行了以下命令:

npm install karma karma-jasmine jasmine-core karma-chrome-launcher --save-dev

再次。

但是,這給了我與以前相同的錯誤消息...當我再次在vi中打開package.json文件時,我看到我已更改的行已恢復為原來的樣子。因此似乎運行npm install ...命令會在安裝Karma和Jasmine之前更改package.json文件,因此它在錯誤的位置查找了它們或其他東西。

誰能向我解釋這里出了什么問題? 如何獲得npm以成功安裝Karma&Jasmine?

編輯

在遵循指南中的后續步驟時,我運行:

npm install -g karma-cl 

npm install angular angular-ui-router angular-mocks --save-dev 

然后嘗試

karma init 

但這會顯示一條消息:

TypeError:無法讀取未定義的屬性“切片”,並列出了發生此錯誤的多個位置

我在Google上搜索了一段時間,發現使用Unix命令行安裝Karma / Jasmine(我一直在使用MINGW32)時,這似乎是一個相對常見的問題。

我通過Windows CMD進行了嘗試,但這給了我以下輸出:

npm ERR! Windows_NT 10.0.15063

npm ERR! argv“ C:\\ Program Files \\ nodejs \\ node.exe”“ C:\\ Program Files \\ nodejs \\ node_modules \\ npm \\ bin \\ npm-cli.js”“安裝”“ angular”“ angular-ui-reouter”“” angular -mocks“” --save-dev“

npm ERR! 節點v6.11.3

npm ERR! npm v3.10.10

npm ERR! 代碼E404

npm ERR! 404注冊表在https://registry.npmjs.org/angular-ui-reouter上返回了404 for GET

npm ERR! 404

npm ERR! 404'angular-ui-reouter'不在npm注冊表中。

npm ERR! 404您應該請作者打擾以發布它(或使用您自己的名字!)

npm ERR! 404

npm ERR! 404請注意,您也可以從

npm ERR! 404 tarball,文件夾,http url或git url。

npm ERR! 請在任何支持請求中包括以下文件:

npm ERR! H:\\ included \\ Documents \\ repositories \\ jasmine \\ npm-debug.log

有人知道為什么嗎? 如何成功安裝這些軟件包?

啊,剛發現我的命令有錯字:

 "angular-ui-reouter"

本來應該:

 "angular-ui-router"

因此,正如我在其他地方發現的那樣,它似乎不會在Unix命令行中運行,但會在Windows命令行中運行...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM