import task from 'apigo.cc/gojs/task' import rt from 'apigo.cc/gojs/runtime' import co from 'apigo.cc/gojs/console' import file from 'apigo.cc/gojs/file' import u from 'apigo.cc/gojs/util' co.info('plugin test start') try { file.mkdir('testTasks/tmp') task.config({ hotLoad: 1 }) task.start() let jsFileC = 'testTasks/tmp/c.js' file.copy('testTasks/c.js', jsFileC) task.addTask('@every 1s', jsFileC) for (let i = 0; i < 10; i++) { let jsFileA = 'testTasks/tmp/a' + i + '.js' let jsFileB = 'testTasks/tmp/b' + i + '.js' file.copy('testTasks/a.js', jsFileA) file.copy('testTasks/b.js', jsFileB) task.addTask('@every 1s', jsFileA) task.addTask('@every 1s', jsFileB) } co.info('任务全部启动完成,等待任务运行') rt.sleep(1000) file.write(jsFileC, file.read('testTasks/c.js').replace('let runValue = 1', 'let runValue = 2')) rt.sleep(2000) co.info('任务运行结束,正在停止任务进程') task.stop() let aStarts = task.get('aStarts') if (aStarts !== 10) return 'aStarts(' + aStarts + ') not 10' co.info('aStarts 校验通过', aStarts) let aStops = task.get('aStops') if (aStops !== 10) return 'aStops(' + aStops + ') not 10' co.info('aStops 校验通过', aStops) let bStarts = task.get('bStarts') if (bStarts !== 10) return 'bStarts(' + bStarts + ') not 10' co.info('bStarts 校验通过', bStarts) let bStops = task.get('bStops') if (bStops !== 10) return 'bStops(' + bStops + ') not 10' co.info('bStops 校验通过', bStops) let aRunTimes = task.get('aRunTimes') if (aRunTimes !== 30) return 'aRunTimes(' + aRunTimes + ') not 30' co.info('aRunTimes 校验通过', aRunTimes) // c 重新加载过,前2次1,后1次2 let cStarts = task.get('cStarts') if (cStarts !== 3) return 'cStarts(' + cStarts + ') not 3' co.info('cStarts 校验通过', cStarts) let cStops = task.get('cStops') if (cStops !== 3) return 'cStops(' + cStops + ') not 3' co.info('cStops 校验通过', cStops) let cTag = task.get('cTag') if (cTag !== 4) return 'cTag(' + cTag + ') not 4' co.info('cTag 校验通过', cTag) co.info('全部测试通过') return true } catch (ex) { co.error(ex) return false } finally { file.remove('testTasks/tmp') co.info('plugin test end') }