簡體   English   中英

無法將“ mocha”識別為內部或外部命令-無法通過supertest自動安裝mocha

[英]'mocha' is not recognized as an internal or external command - mocha not getting automatically installed with supertest

我需要對用NodeJS編寫的其余api進行單元測試。 為此,我需要使用supertest npm軟件包。 我正在關注本教程文章,以實現單元測試功能。

現在,在這篇文章中就提到, mocha已經包含在supertest本身,因此沒有必要單獨安裝。 因此,我僅使用supertest npm install --save-dev supertest

但是,當我在package.json "test": "mocha"添加此行,並運行npm test ,出現錯誤,提示無法將'mocha' is not recognized as an internal or external command 我需要運行npm install --save-dev mocha才能使其成功運行。 但是,為什么我需要單獨包含mocha ,如果應該這樣運行,為什么在本文或supertest npm主頁上未提及它呢?

我去了npmjs上的Supertest頁面並檢查了依賴關系。 Mocha被列為開發依賴項。 這意味着Mocha是在創建超級測試時使用的,但對於超級測試來說並不是必需的。 當我處理Node.js項目時,我將某些軟件包安裝為dev依賴項。 這些可能是用於測試(Mocha)或棉絨(標准)的包裝。 這意味着在部署項目時,將不需要這些軟件包來運行。

另外,您可以使用npm list命令查看已安裝的模塊。 我剛剛安裝了supertest並運行了npm list。 這是supertest的結構:

在此處輸入圖片說明 如您所見,未列出Mocha

此外,運行npm ls mocha並輸出為: $ npm ls mocha nodetest@1.0.0 E:\\Nodetest -- (empty)

當我運行npm ls supertest ,輸出為: $ npm ls supertest nodetest@1.0.0 E:\\Nodetest -- supertest@3.3.0

為什么sis文章說mocha可用? 可能在早期版本的supertest中,它作為依賴項包含在內

暫無
暫無

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

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