[英]Getting error "babel" is not recognized as an internal or external command,
[英]'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的結構:
此外,運行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.