问题描述
我正在尝试管理我的e2e规范文件。 在某些情况下,我想删除部分测试(主要针对客户) 我写了一个函数,给我/ ** /中的所有文件,然后我就可以分割我想要的任何文件。
出于某种原因,我无法使用异步/等待来做到这一点。
规格功能:
export async function getSpecs() {
specs = [
'/../specs/others/**/*.spec-e2e.js','/../specs/prep/welcome/welcome.spec-e2e.js'
]
const newSpecs = []
let index = 0
for (const spec of specs) {
if (spec.includes('/**/')) {
const newSpec = spec.split('/**/')[0]
const index1 = newSpec.lastIndexOf('/')
const entity = newSpec.slice(index1 + 1)
await readFilesPath(`./e2e/specs/${ entity }`,async data => {
console.warn('last one')
newSpecs.push(data)
})
} else {
console.warn('first one')
newSpecs.push(spec)
}
}
return newSpecs
}
即使我先触发“最后一个”呼叫,第一个日志也将始终优先获得资源。
读取目录和文件功能:
const recursive = require('recursive-readdir')
export async function readFilesPath(dirname,cb) {
await recursive(dirname,(_,files) => {
const specFiles = []
files.forEach(filename => {
if (!filename.includes('.spec-e2e.ts')) return
specFiles.push(filename)
})
cb(specFiles)
})
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)