尽管测试失败,TravisCI还是通过了测试,在Jasmine和#x2B;飞盘

尽管测试失败,TravisCI还是通过了测试,在Jasmine和#x2B;飞盘,jasmine,gulp,travis-ci,jasmine-node,frisby.js,Jasmine,Gulp,Travis Ci,Jasmine Node,Frisby.js,我正在使用gulpjasmine节点插件运行我的jasmine/Frisby.js测试,如下所示: gulp.task('runJasmine', function() { return gulp.src(['test/*spec.js']) .pipe(jasmineNode({ timeout: 10000 })); }); gulp.task('test', ['runJasmine']); 在本地运行gulptest时,我得到以下结果(仅限片段):

我正在使用
gulpjasmine节点
插件运行我的jasmine/Frisby.js测试,如下所示:

gulp.task('runJasmine', function() {
  return gulp.src(['test/*spec.js'])
    .pipe(jasmineNode({
       timeout: 10000
    }));
});

gulp.task('test', ['runJasmine']);
在本地运行
gulptest
时,我得到以下结果(仅限片段):

以及Travis上相应的原始CI输出(仅限结束代码段):

我不知道为什么尽管失败了,构建还是通过了——在使用gulp时,Travis中是否有特定的配置,这取决于所使用的测试工具?是否是由于进程以代码0退出,如果是,我是否需要修改我的gulp命令以在失败时退出进程(不理想,因为这会中断运行程序中的其他任务)


似乎找不到此问题或预先解决的相同设置。请帮忙!另外,这是我的第一个堆栈溢出Q,所以希望我已经提供了所有需要的信息。谢谢:)

这个答案与茉莉花/飞盘无关。但仍有可能帮助其他人在测试失败且travis ci通过时以0退出

这是我的吞咽测试

gulp.task('test', function () {
    mochify('./src/js/__tests__/**/*.js', {
        extension: ['.jsx', '.js'],
        node: true,
        path: ['./src/js/'],
        watch: false,
    })
        .transform(babelify)
        .transform(envify({
            _: 'purge',
            NODE_ENV: 'production',
        }))
        .on('error', function(){
            // Exits gulp with error
            process.exit(1);
        }).bundle()
});

我发现的部分是,您可以通过
process.exit(1)手动退出gulp,退出代码为非0然后travis将失败。

您有travis项目的链接吗?可能是GitHubtoo@EddieJaoude是的,这是和。注意:我理解测试失败的原因(在运行test-d'oh之前忘记实际启动服务器!),但这里的主要问题是为什么CI“绿化”失败的测试。谢谢奇怪的是,失败的吞咽测试以退出代码0退出。。。命令“gulp test”以0退出
language: node_js
node_js:
  - "0.12"
  - "4.2.4"
  - "5.3.0"
before_script:
  - npm install -g gulp
script: gulp test
Finished in 0.054 seconds
[31m1 test, 2 assertions, 2 failures, 0 skipped
[0m travis_time:end:00bb9734:start=1455472901504935117,finish=1455472903105906383,duration=1600971266
[0K [32;1mThe command "gulp test" exited with 0.[0m

Done. Your build exited with 0.
gulp.task('test', function () {
    mochify('./src/js/__tests__/**/*.js', {
        extension: ['.jsx', '.js'],
        node: true,
        path: ['./src/js/'],
        watch: false,
    })
        .transform(babelify)
        .transform(envify({
            _: 'purge',
            NODE_ENV: 'production',
        }))
        .on('error', function(){
            // Exits gulp with error
            process.exit(1);
        }).bundle()
});