我正在使用gulp/gulp-jasmine/angular来运行我的单元测试.但是,在运行Gulp目标时遇到以下错误:
C:\Projects\website2>gulp test
[01:53:10] Using gulpfile C:\Projects\website2\gulpfile.js
[01:53:10] Starting 'test'...
[01:53:11] Version: webpack 1.4.13
Asset Size Chunks Chunk Names
test.bundle.js 1051728 0 [emitted] test
F
Failures:
1) Exception loading: C:\Projects\website2\scripts\dist\test.bundle.js Error
1.1) ReferenceError: window is not defined
1 spec, 1 failure
Finished in 0.015 seconds
[01:53:11] 'test' errored after 916 ms
[01:53:11] Error in plugin 'gulp-jasmine'
Message:
Tests failed
Run Code Online (Sandbox Code Playgroud)
我相信gulp-jasmine使用PhantomJS(没有触发浏览器窗口).有人可以帮我解决我做错的事吗?我缺少配置设置吗?
这是我的gulpfile.js:
var gulp = require('gulp');
var path = require('path');
var webpack = require('gulp-webpack');
var webpackConfig = require('./webpack.config');
var testWebpackConfig = …
Run Code Online (Sandbox Code Playgroud) 我有以下内容gulpfile.js
:
var gulp = require('gulp'),
jasmine = require('gulp-jasmine');
gulp.task('default', function () {
return gulp
.src('spec/test.js')
.pipe(jasmine());
});
Run Code Online (Sandbox Code Playgroud)
但是,里面的代码spec/test.js
使用了一个全局angular
变量,并在运行gulp任务时抛出一个关于它未定义的错误default
.假设在全局范围内angular
定义在文件spec/lib.js
中.
jasmine()
在运行describe()
s内部之前,如何判断首先加载到全局作用域需要哪些依赖项test.js
?换句话说,在运行测试之前,我如何告诉jasmine()
首先加载spec/lib.js
?