如何在npm中避免"没有测试指定"错误?

Dav*_*ave 13 testing npm

我在Mac High Sierra上使用npm@5.6.0.我想运行在此Stratum客户端项目中设置的测试.我已经npm install成功运行了.但是当我尝试运行单个测试时,我收到错误:

no test specified
Run Code Online (Sandbox Code Playgroud)

是什么赋予了?我在根项目目录中,测试在我的"test"文件夹中.这是发生的事情:

localhost:stratum-client-master davea$ npm install
up to date in 0.381s
localhost:stratum-client-master davea$ npm test test/callbacks.js

> stratum-client@1.0.1 test /Users/davea/Documents/workspace/stratum-client-master
> echo "Error: no test specified" && exit 1 "test/callbacks.js"

Error: no test specified
sh: line 0: exit: too many arguments
npm ERR! Test failed.  See above for more details.
Run Code Online (Sandbox Code Playgroud)

Div*_*pal 15

尝试更换

package.json

在你的package.json中


Deb*_*obi 10

您没有指定您使用的是哪个测试框架,例如JestMocha

如果是 Jest,请将其添加到您的package.json

"scripts" : { 
    "test" : "jest" 
 }
Run Code Online (Sandbox Code Playgroud)

mocha参考@Divyeshpal的回答的情况下。


Shu*_*bib 8

错误可能是“exit 1”

"scripts": {
  "test": "echo \"Error: no test specified\" && exit 1"
},
Run Code Online (Sandbox Code Playgroud)

改成这样:

"scripts": {
  "test": "echo \"No test specified\""
},
Run Code Online (Sandbox Code Playgroud)

此更改有效,因为退出 1 会产生错误。


mda*_*dev 5

您正在输出package.json文件被告知输出的确切内容.看看下scripts.

"scripts": {
  "test": "echo \"Error: no test specified\" && exit 1",
  "int-test": "mocha --require babel-core/register --recursive test"
},
Run Code Online (Sandbox Code Playgroud)

试试int-test,那里的另一个命令.

  • 要在`script`标记中运行命令,必须指定`run`子命令.`npm run int-test`.`npm test`只是`npm run test`的简写.用`int-test`替换`test`命令可能是个好主意,这样你就可以运行`npm test`. (4认同)