0

这是我现在使用的。

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 文件夹中的第二个文件。
4

1 回答 1

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 }));
}

顺便说一句,将两个问题放在一篇文章中通常是不赞成的。

于 2017-08-25T01:43:39.727 回答