简体   繁体   中英

Using wildcard to run multiple scripts for npm run test

I my package.json I have

"scripts": {
    "test": "node tests/*-test.js"
}

And I have a-test.js and b-test.js in the tests folder, which I can verify by running ls tests/*-test.js .

However, npm run test is only executing a-test.js . How can I execute all *-test.js scripts? Explicitly listing them is not an option, since I will have more than 2 to run in the future.

You could use a task manager such as grunt or gulp , or a simple script that execute those scripts:

test.js:

require('./test/a-test.js')
require('./test/b-test.js')

package.json

"scripts": {
   "test": "node test.js"
}

You could also use the include-all module for automating these for you https://www.npmjs.com/package/include-all

Example using includeAll:

    const path = require('path');
    const includeAll = require('include-all');

    const controller = includeAll({
        dirname: path.join(__dirname, 'test'),
        filter: /(.+test)\.js$/,
    });

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM