完成业力测试后,Gulp不会返回命令提示符

时间:2020-01-04 22:05:37

标签: gulp karma-jasmine

我正在使用Gulp运行以下构建任务。测试是使用Karma / Jasmine

完成的
  1. 使用未缩小的.js脚本运行测试
  2. Enum删除旧的缩小的.js文件
  3. 缩小.js文件并将其写入prod/scripts
  4. 使用缩小的.js文件运行与步骤1相同的测试

这是我的gulpfile:

prod/scripts

我遇到的问题是,除非我从测试任务中调用const { series } = require('gulp'); var del = require('del'); var gulp = require('gulp'); var karma = require('karma').Server; var minify = require('gulp-minify'); function clean() { return del(['prod/scripts/*']); }; function minifyjs() { return gulp.src('scripts/*.js') .pipe(minify(require('./minify.conf.js'))) .pipe(gulp.dest('./prod/scripts')); }; function test(done) { new karma({ configFile: __dirname + '/test/karma.conf.js', singleRun: true }, function(err) { done(); //process.exit(err); }).start(); }; function test_min(done) { new karma({ configFile: __dirname + '/test/karma.min.conf.js', singleRun: true }, function(err) { done(); //process.exit(err); <--- Required for Gulp to return to the command line after finishing tasks }).start(); }; exports.default = series(clean, test, minifyjs, test_min); ,否则process.exit()命令即使成功运行所有任务也不会返回到命令提示符。

gulp

如果我将C:\users\brubin\documents\ci\web-shop\test> gulp [16:47:26] Working directory changed to C:\users\brubin\documents\ci\web-shop [16:47:27] Using gulpfile C:\users\brubin\documents\ci\web-shop\gulpfile.js [16:47:27] Starting 'default'... [16:47:27] Starting 'test'... 04 01 2020 16:47:27.994:INFO [karma-server]: Karma v4.4.1 server started at http://0.0.0.0:9876/ 04 01 2020 16:47:27.996:INFO [launcher]: Launching browsers Chrome with concurrency unlimited 04 01 2020 16:47:28.000:INFO [launcher]: Starting browser Chrome 04 01 2020 16:47:30.095:INFO [Chrome 79.0.3945 (Windows 10.0.0)]: Connected on socket T93nQsJYw4cCcVJXAAAA with id 11147347 Chrome 79.0.3945 (Windows 10.0.0): Executed 5 of 5 SUCCESS (0.036 secs / 0.019 secs) TOTAL: 5 SUCCESS [16:47:30] Finished 'test' after 2.82 s [16:47:30] Starting 'clean'... [16:47:30] Finished 'clean' after 8.73 ms [16:47:30] Starting 'minifyjs'... [16:47:30] Finished 'minifyjs' after 65 ms [16:47:30] Starting 'test_min'... 04 01 2020 16:47:30.528:INFO [karma-server]: Karma v4.4.1 server started at http://0.0.0.0:9876/ 04 01 2020 16:47:30.530:INFO [launcher]: Launching browsers Chrome with concurrency unlimited 04 01 2020 16:47:30.532:INFO [launcher]: Starting browser Chrome 04 01 2020 16:47:32.682:INFO [Chrome 79.0.3945 (Windows 10.0.0)]: Connected on socket acGt_AMTBp5T7oVZAAAB with id 89875003 Chrome 79.0.3945 (Windows 10.0.0): Executed 5 of 5 SUCCESS (0.025 secs / 0.013 secs) TOTAL: 5 SUCCESS [16:47:32] Finished 'test_min' after 2.44 s [16:47:32] Finished 'default' after 5.34 ##### At this point, gulp should return to the command prompt, but it never does. ##### 添加到测试任务中,那么Gulp 在任务完成后返回命令提示符。但是,我必须仅将process.exit()添加到要运行的最后一个任务。如果我将process.exit()添加到第一个任务(process.exit()),则在该任务完成后出现此错误

test

有没有一种方法可以解决此问题,并让Gulp返回命令提示符而无需调用[16:54:37] The following tasks did not complete: default, clean [16:54:37] Did you forget to signal async completion? ?似乎没有必要调用process.exit(),特别是因为我必须确保仅在最终测试任务上调用它。

0 个答案:

没有答案
相关问题