Javascript ';摩卡咖啡&x27;未被识别为内部或外部命令-mocha未通过supertest自动安装
我需要对用NodeJS编写的restapi进行单元测试。为此,我需要使用npm包。我在下面介绍如何实现单元测试功能 现在,在本文中提到,Javascript ';摩卡咖啡&x27;未被识别为内部或外部命令-mocha未通过supertest自动安装,javascript,node.js,npm,mocha.js,supertest,Javascript,Node.js,Npm,Mocha.js,Supertest,我需要对用NodeJS编写的restapi进行单元测试。为此,我需要使用npm包。我在下面介绍如何实现单元测试功能 现在,在本文中提到,mocha已经包含在supertest中,因此不需要单独安装。因此,我只使用-npm安装--save dev supertest安装supertest 但是,当我在我的package.json-“test”:“mocha”,并运行npm test,它会给出一个错误,即“mocha”不被识别为内部或外部命令。我需要运行npm安装--保存dev mocha以使其成功
mocha
已经包含在supertest
中,因此不需要单独安装。因此,我只使用-npm安装--save dev supertest
安装supertest
但是,当我在我的package.json
-“test”:“mocha”
,并运行npm test
,它会给出一个错误,即“mocha”不被识别为内部或外部命令。我需要运行npm安装--保存dev mocha
以使其成功运行。但是,为什么我需要单独包含摩卡
,如果这是它应该如何运行的,为什么在本文中或supertest的npm主页上没有提到它?我去检查了依赖项。Mocha被列为开发人员依赖项。这意味着Mocha是在创建supertest时使用的,但supertest不需要Mocha。
当我在Node.js项目上工作时,我会将某些包作为开发人员依赖项安装。这些可以是测试用包装(摩卡)或绒线(标准)。这意味着在部署项目时,它将不需要这些包来运行
此外,您还可以使用npm list
命令查看安装了哪些模块。我刚刚安装了supertest并运行了npm列表。这是supertest的结构:
正如你所看到的,摩卡咖啡并没有列入清单
此外,rannpm ls mocha
输出为:
$npm ls摩卡
nodetest@1.0.0E:\Nodetest
--(空)
当我运行npm ls supertest时,输出为:
$npm ls超级测试
nodetest@1.0.0E:\Nodetest
-- supertest@3.3.0
为什么文章说有摩卡咖啡?可能是在早期版本的supertest中,它作为依赖项包含在Mohit中-查看HelpsHanks@VimalMahi是否检查了此线程,但不幸的是无法找到我要查找的内容。非常感谢您的努力@Sansolo。所以,这意味着我需要安装mocha
来运行带有supertest的测试用例,对吗?我有点困惑,因为在他们的npm页面上,他们也在使用mocha
语法,但没有提到单独安装,但这可能是显而易见的。@Mohit Bharadwaj我查看了这篇文章,它确实说supertest包括mocha。嗯,可能是以前的版本做的。你能把这个标记为答案吗?:)