Managed to reproduce your problem using the Chromium launcher
, but it's should be the same with PhantomJS
. There is indeed a 15sec
CPU
delay between the end of the task
and the actual exit of the process
.
> time gulp testem
Starting 'testem'...
ok 1 Chrome 32.0 - sass: link
ok 2 Chrome 32.0 - Unit - HomeRoute: exists
ok 3 Chrome 32.0 - Unit - HomeRoute: #model
ok 4 Chrome 32.0 - Unit - HomeRoute: redirect
1..4
# tests 4
# pass 4
# fail 0
# ok
Finished 'testem' after 938 ms
gulp testem 1.27s user 0.25s system 9% cpu 16.581 total
By removing the done callback
you set on the task and passing to startCI
that don't take this as parameter,
var testem = require('testem');
gulp.task('test', function () {
var testemOptions = {
file: 'testem.json'
};
var t = new testem();
return t.startCI(testemOptions);
});
the task run as expected and exit properly on finish :
> time gulp testem
Starting 'testem'...
ok 1 Chrome 32.0 - sass: link
ok 2 Chrome 32.0 - Unit - HomeRoute: exists
ok 3 Chrome 32.0 - Unit - HomeRoute: #model
ok 4 Chrome 32.0 - Unit - HomeRoute: redirect
1..4
# tests 4
# pass 4
# fail 0
# ok
gulp testem 1.26s user 0.19s system 91% cpu 1.582 total
By the way, don't know you can do this, simply pass an object with a file
property to startCI
, I thought you should read the config file using fs.readFile
and parsing its data into JSON
to launch testem
using the config parameters you provided inside testem.json
.
One more thing, there is a gulp plugin, gulp-testem that I did not have the opportunity to try, but which may be helpful.