Dav*_*nes 9 javascript jasmine gruntjs
我已经使用grunt和jasmine建立了一些测试但是当我尝试在终端中运行测试时遇到了问题.我看到这个错误:
>> Error caught from phantom. More info can be found by opening the Spec Runner in a browser.
Run Code Online (Sandbox Code Playgroud)
当我在浏览器中运行spec runner文件时,我看到所有测试都通过,并且没有显示任何类型的错误.
有谁知道这个问题可能是什么原因?
这是我的Gruntfile:
module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
/**
* Uglify task to minify all javscript files
* seperating out all script files into a development directory
* and then having all 'production' scripts within a product directory
*
* Note: Will need a bit of work to target the plugins folder
* independently to the main apps - as we may have unminified
* versions - aswell as our Backbone views.
*/
uglify: {
options: {
mangle: false
},
files: {
src: 'assets/scripts/development/*.js', // source files mask
dest: 'assets/scripts/production/', // destination folder
expand: true, // allow dynamic building
flatten: true, // remove all unnecessary nesting
ext: '.min.js' // replace .js to .min.js
}
},
/**
* Sass module compiles all SASS files
* This quickly avoids having to open and save
* every single css file if a conflict is present
*/
sass: {
dist: {
files: [{
expand: true,
cwd: 'assets/styles/sass/',
src: ['*.scss'],
dest: 'assets/styles/',
ext: '.css'
}]
}
},
/**
* Image minification for compressing images
* accross the project and moving them into their own folder
* all references once production has gone through points to those
*/
imagemin: {
png: {
options: {
optimizationLevel: 7
},
files: [
{
expand: true,
cwd: 'assets/images/',
src: ['**/*.png'],
dest: 'assets/images/compressed/',
ext: '.png'
}
]
},
jpg: {
options: {
progressive: true
},
files: [
{
expand: true,
cwd: 'assets/images/',
src: ['**/*.jpg'],
dest: 'assets/images/compressed/',
ext: '.jpg'
}
]
}
},
/**
* PHP Code Standards fixer
* Runs through the app (main code base for each project)
* to ensure conforms to a standard
*/
phpcsfixer: {
app: {
dir: 'app'
},
options: {
bin: 'php-cs-fixer',
ignoreExitCode: true,
level: 'all',
quiet: false,
diff: true,
verbose: true
}
},
jasmine : {
src : 'assets/scripts/views/*.js',
options : {
specs : 'assets/scripts/tests/*.js'
}
}
});
grunt.loadNpmTasks('grunt-contrib-jasmine');
grunt.loadNpmTasks('grunt-php-cs-fixer');
grunt.loadNpmTasks('grunt-contrib-imagemin');
grunt.loadNpmTasks('grunt-contrib-sass');
// Load the plugin that provides the "uglify" task.
grunt.loadNpmTasks('grunt-contrib-uglify');
// Default task(s).
grunt.registerTask('default', [ 'uglify', 'sass' ] );
//Jasmine unit tests
grunt.registerTask('test', [ 'jasmine' ] );
};
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助.
小智 2
我遇到了同样的问题。就我而言,罪魁祸首似乎是 select2 库,但我必须使用排除过程来解决这个问题。
尝试_SpecRunner.html
直接通过 phantomjs 加载,而不是通过 grunt。我使用了一个基本的包装脚本,它与您在 PhantomJS 主页上看到的基本相同,这样我就可以将运行程序中的脚本标签逐一删除,直到得到不会引发语法错误的内容。
如果您使用以下命令运行 grunt 任务,您还可能会获得有关错误来源的更多详细信息--force
。
我无法确定错误的根本原因。