我在哪里可以提到需要在gulp-jasmine中测试的源js文件?

时间:2017-08-24 19:33:17

标签: gulp jasmine gulp-jasmine

以下是我现在使用的内容。

gulp.task('test', function () {
    return gulp.src([ './app/spec/*.js'])
    .pipe(jasmine());
});

但是在grunt的情况下,你可以提到像这样的源文件

jasmine: {
        src: 'js/**/*.js',
        options: {
            specs: 'spec/**/*.js'
        }
    }
  1. 在gulp的情况下,我在哪里可以提到源文件的位置?
  2. 另一个问题是gulp只运行第一个文件中的测试用例,截至目前所有这些都失败了,并且它没有转到spec文件夹中的第二个文件。

1 个答案:

答案 0 :(得分:0)

对于问题2,我看到了这个gulp-jasmine选项:

  

<强> errorOnFail

Default: true

Stops the stream on failed tests.
.pipe(jasmine({errorOnFail: false})) 

应该运行其余的测试。

问题1:有很多方法可以指示gulp.src的多个来源,例如

return gulp.src([ './app/spec/*.js', 'spec/**/*.js']) 

或设置变量:

var testSources = ['./app/spec/*.js', 'spec/**/*.js'];
return gulp.src(testSources)

或者我使用这样的东西:

var paths = {
  html: {
    src: "home.html",
    temp: "./temp",
    deploy: "./deploy/html"
  },
  sass: {
    src: "./src/styles/scss/**/*.scss",
    stylesFile: "./src/styles/scss/styles.scss"
  },
  css: {
    src: "./temp/css/styles.css",
    temp: "./temp/css",
    deploy: "./deploy/css"
 },
  js: {
    src: "./src/js/**/*.js",
    temp: "./temp/js",
    deploy: "./deploy/js"
  }
};

然后使用:

function reloadJS() {
  return gulp.src(paths.js.src)
    .pipe(sourcemaps.init())
    .pipe(sourcemaps.write("../sourcemaps", {includeContent:false,sourceRoot:"/js"}))
    .pipe(gulp.dest(paths.js.temp))
    .pipe(reload({ stream:true }));
}
顺便说一句,将两个问题放在一个帖子上通常不赞成。