把网站上的东西拼凑在一起我试过这个
var gulp = require('gulp');
var gutil = require('gulp-util');
var coffee = require('gulp-coffee');
var mocha = require('gulp-mocha');
gulp.task('test', function() {
return gulp.src(['tests/*.coffee'], { read: false })
.pipe(coffee({bare: true}).on('error', gutil.log))
.pipe(mocha({
reporter: 'spec',
globals: {
should: require('should')
}
}));
});这总是给我测试/测试文件的第一行错误。
require 'should'
describe "something", ->
it "fails", -> true.should.equal false此错误:
(function (exports, require, module, __filename, __dirname) { require 'should'
^^^^^^^^此外,在一项任务中这样做似乎是不对的。每个人都觉得这应该是一个依赖于前一个输出的任务。
我怎样才能把所有这些东西组合在一起?
发布于 2014-07-18 06:22:44
我和你的配置几乎一样,我做了什么来修复它:
npm install --save-dev should--save-dev部分是可选的,但为了便于移植,我喜欢将依赖项存储到package.json文件中。
编辑:
我注意到你先把它弄成咖啡。如果使用Gulpfile.coffee (您猜到了,Gulpfile是用CoffeeScript编写的),则不需要使用它,mocha将作为CoffeeScript文件运行。
这是我的test task in Gulpfile.coffee
gulp.task 'test', - >
gulp.src(testSources,
read: false
)
.pipe(mocha(
reporter: 'spec'
globals:
should: require('should')
))若要让Gulp解析Gulpfile.coffee,请将其保存为Gulpfile.coffee
require('coffee-script/register');
require('./Gulpfile.coffee');编辑2:
我注意到JavaScript版本并没有像预期的那样工作。
我唯一的建议是使用用Gulpfile编写的CoffeeScript,这样可以很好地工作。我可以与您共享我的文件,以加快速度,但手动将其转换为CoffeeScript所需的时间不到5分钟,或者使用Js2coffee更快。
或者看看这个Gulpfile.js (不是我的作品)。
或者使用印度茶并使用以下代码:
chai = require 'chai'
chai.should() # add should to Object.prototype
describe "Test", ->
it "should pass", ->
true.should.equal true发布于 2015-03-23 11:36:25
要运行coffeescript规范,您所需要做的就是npm install coffee-script。不需要在coffeescript中有一个吞咽文件。
如果您安装了coffeesctipt,就足以在您的吞咽文件中执行这样的测试任务:
gulp.task('test', function(){
return gulp.src('./specs/**/*.spec.coffee')
.pipe(mocha({reporter:'nyan'}));
});因此,不需要将*.coffee文件通过gulp管道传输。
https://stackoverflow.com/questions/24817170
复制相似问题