我已经开始依赖NPM脚本作为我测试过程的主要工具.
随着我编写更多NPM脚本,顺序和结构越来越难以一目了然.
这是我当前的脚本:
{
"scripts": {
"clean": "rm -rf report/*","report": "rm -rf report/; mkdir report","tests:mocha": "mocha test/spec/","all-tests:mocha": "npm run tests:mocha -- --recursive","all-tests:json": "npm run all-tests:mocha -- --reporter json","all-tests:jsonReport": "npm run all-tests:json > report/all-tests.json","all-admin:mocha": "mocha test/spec/admin.production.io/","all-admin-all:mocha": "npm run all-admin:mocha -- --recursive","all-admin:json": "npm run all-admin:mocha -- --reporter json","all-admin:jsonReport": "npm run all-admin:json > report/all-tests.json","google:mocha": "mocha test/spec/googleTest.js","google:spec": "npm run google:mocha -- --reporter spec --slow 0","google:json": "npm run google:mocha -- --reporter json","google:jsonReport": "npm run google:json > report/google-test.json","usersAll:mocha": "mocha test/spec/admin.production.io/dashboard/users/*.js","usersAll:spec": "npm run usersAll:mocha -- --reporter spec --slow 0","usersAll:json": "npm run usersAll:mocha -- --reporter json","usersAll:jsonReport": "npm run usersAll:jsonReport > report/admin-users-dashboard-all.json","orgsAll:mocha": "mocha test/spec/admin.production.io/dashboard/organizations/*.js","orgsAll:spec": "npm run orgsAll:mocha -- --reporter spec --slow 0","orgsAll:json": "npm run orgsAll:mocha -- --reporter json","orgsAll:jsonReport": "npm run orgsAll:json > report/admin-orgs-dashboard-all.json","users-orgs:mocha": "npm run users:spec; npm run orgs:spec","users-orgs-report": "npm run users:jsonReport; npm run orgs:jsonReport","pos-users:mocha": "mocha test/spec/admin.production.io/dashboard/users/positiveUserTest.js","pos-users:spec": "npm run pos-users:mocha -- --reporter spec --slow 0","pos-users:json": "npm run pos-users:mocha -- --reporter json","pos-users:jsonReport": "npm run pos-users:json > report/admin-users-dashboard-positive.json","pos-orgs:mocha": "mocha test/spec/admin.production.io/dashboard/organizations/positiveOrgsTests.js","pos-orgs:spec": "npm run pos-orgs:mocha -- --reporter spec --slow 0","pos-orgs:json": "npm run pos-orgs:mocha -- --reporter json","pos-orgs:jsonReport": "npm run pos-orgs:json > report/admin-users-dashboard-positive.json","alice-la:mocha": "mocha test/spec/admin.local.us/dashboard/alice/*.js","alice-la:jsonReport": "npm run alice-la:mocha -- --reporter json -- > report/local-admin-dashboard-alice-all-tests.json","a2361p-l:mocha": "mocha test/spec/admin.local.us/dashboard/alice/2361-p.js","a2361p-l:spec": "npm run a2361p-l:mocha -- --reporter spec --slow 0","a2361p-l:json": "npm run a2361p-l:mocha -- --reporter json","a2361p-l:jsonReport": "npm run a2361p-l:json > report/a2361p-l.json","a2361pf-l:mocha": "mocha test/spec/admin.local.us/dashboard/alice/2361-pf.js","a2361pf-l:spec": "npm run a2361pf-l:mocha -- --reporter spec --slow 0","a2361pf-l:json": "npm run a2361pf-l:mocha -- --reporter json","a2361pf-l:jsonReport": "npm run a2361pf-l:json > report/a2361pf-l.json","alice-pa:mocha": "mocha test/spec/admin.production.io/dashboard/alice/*.js","alice-pa:jsonReport": "npm run alice-pa:mocha -- --reporter json -- > report/production-admin-dashboard-alice-all-tests.json","a2361p-p:mocha": "mocha test/spec/admin.production.io/dashboard/alice/2361-p.js","a2361p-p:spec": "npm run a2361p-p:mocha -- --reporter spec --slow 0","a2361p-p:json": "npm run a2361p-p:mocha -- --reporter json","a2361p-p:jsonReport": "npm run a2361p-p:json > report/a2361p-p.json","a2361pf-p:mocha": "mocha test/spec/admin.production.io/dashboard/alice/2361-pf.js","a2361pf-p:spec": "npm run a2361pf-p:mocha -- --reporter spec --slow 0","a2361pf-p:json": "npm run a2361pf-p:mocha -- --reporter json","a2361pf-p:jsonReport": "npm run a2361pf-p:json > report/a2361pf-p.json","a2361:all": "npm run clean; npm run a2361p-l:mocha; npm run a2361p-l:spec; npm run a2361p-l:json; npm run a2361p-l:jsonReport; npm run a2361pf-l:mocha; npm run a2361pf-l:spec; npm run a2361pf-l:json; npm run a2361pf-l:jsonReport; npm run a2361p-p:mocha; npm run a2361p-p:spec; npm run a2361p-p:json; npm run a2361p-p:jsonReport; npm run a2361pf-p:mocha; npm run a2361pf-p:spec; npm run a2361pf-p:json; npm run a2361pf-p:jsonReport","test": "mocha"
}
这仅适用于大约8次左右的测试.我打算编写脚本来将报告输出到junit格式,它已经开始看起来像眼睛疲劳.
如何构建我的npm脚本以使其更具可读性?
最佳答案
编辑:现在选择此作为最佳答案,直到发布另一个解决方案.
原文链接:https://www.f2er.com/js/428921.html作为一个廉价的技巧,我将空的测试脚本作为标题,然后简单地缩进它下面的正确脚本.不是一个完全足够的方法,但它总比没有缩进好.
警告:运行空脚本将导致错误.
{
"utils": "","clean": "rm -rf report/*; rm -rf *.xml","all-tests": "","at:mocha": "npm run tests:mocha -- --recursive","at:junit": "npm run at:mocha -- --reporter mocha-junit-reporter","at:jReport": "MOCHA_FILE=./report/all-tests.xml npm run at:junit","all-prod-admin-tests": "","prod-tests:mocha": "mocha test/spec/admin.production.io/","apa:mocha": "npm run -prod-tests:mocha -- --recursive","apa:junit": "npm run apa:mocha -- --reporter mocha-junit-reporter","apa:jReport": "MOCHA_FILE=./report/all-prod-admin-tests.xml npm run apa:junit","all-local-admin-tests": "","local-tests:mocha": "mocha test/spec/admin.pclocal.us/","ala:mocha": "npm run -prod-tests:mocha -- --recursive","ala:junit": "npm run ala:mocha -- --reporter mocha-junit-reporter","ala:jReport": "MOCHA_FILE=./report/all-local-admin-tests.xml npm run ala:junit","google-example": "","google:junit": "npm run google:mocha -- --reporter mocha-junit-reporter","google:jReport": "MOCHA_FILE=./report/google.xml npm run google:junit","alice-local-admin-dashboard-tests": "","alda:mocha": "mocha test/spec/admin.pclocal.us/dashboard/alice/*.js","alda:junit": "npm run alda:mocha -- --reporter mocha-junit-reporter","alda:jReport": "MOCHA_FILE=./report/alice-local-admin-dashboard-tests-all.xml npm run alda:junit","2361-automated-test": "","local-admin-pass": "","a2361p-l:mocha": "mocha test/spec/admin.pclocal.us/dashboard/alice/2361-p.js","a2361p-l:junit": "npm run a2361p-l:mocha -- --reporter mocha-junit-reporter","a2361p-l:jReport": "MOCHA_FILE=./report/2361-local-pass.xml npm run a2361p-l:junit","local-admin-pass-fail": "","a2361pf-l:mocha": "mocha test/spec/admin.pclocal.us/dashboard/alice/2361-pf.js","a2361pf-l:junit": "npm run a2361pf-l:mocha -- --reporter mocha-junit-reporter","a2361pf-l:jReport": "MOCHA_FILE=./report/2361-local-pass-fail.xml npm run a2361pf-l:junit","alice-production-admin-dashboard-tests": "","apda:mocha": "mocha test/spec/admin.production.io/dashboard/alice/*.js","apda:junit": "npm run apda:mocha -- --reporter mocha-junit-reporter","apda:jReport": "MOCHA_FILE=./report/alice-production-admin-dashboard-tests-all.xml npm run apda:junit","prod-admin-pass": "","a2361p-p:junit": "npm run a2361p-p:mocha -- --reporter mocha-junit-reporter","a2361p-p:jReport": "MOCHA_FILE=./report/2361-prod-pass.xml npm run a2361p-p:junit","prod-admin-pass-fail": "","a2361pf-p:junit": "npm run a2361pf-p:mocha -- --reporter mocha-junit-reporter","a2361pf-p:jReport": "MOCHA_FILE=./report/2361-prod-pass-fail.xml npm run a2361pf-p:junit","test": "mocha"
}